|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.01.2011, 21:40 | #1 |
Пользователь
Регистрация: 19.01.2011
Сообщений: 16
|
Исключения в Visual C++
Здраствуйте.
Вот код: Код:
Последний раз редактировалось ACE Valery; 21.01.2011 в 23:25. |
19.01.2011, 21:44 | #2 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
ААА! Таже фигня была когда-то! Короче как мне обьяснили cin не генерирует исключение!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
19.01.2011, 21:46 | #3 |
Пользователь
Регистрация: 19.01.2011
Сообщений: 16
|
А как из ситуации выйти?
|
19.01.2011, 21:47 | #4 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
Ну можно считывать в строку! а потом atof, atoi!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
19.01.2011, 21:49 | #5 |
Пользователь
Регистрация: 19.01.2011
Сообщений: 16
|
|
19.01.2011, 21:58 | #6 |
Пользователь
Регистрация: 19.01.2011
Сообщений: 16
|
Заменил код на вот этот, программа не останавливается, __except блоки не обрабатываются, может где-нибудь включить что-то нужно, хотя уже все что знал повключал((
void Train::f_fill() { char temp[5]; cout << "Input destination" << endl; cin >> destination; cout << "Input train number" << endl; cin >> temp; __try{ atoi(temp); } __except(EXCEPTION_EXECUTE_HANDLER) { train_number = 0; } cout << "Input departure time" << endl; cin >> temp; __try{ atof(temp); } __except(EXCEPTION_EXECUTE_HANDLER) { time = 0; } } |
19.01.2011, 22:11 | #7 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
atof, atoi не генирирует исключения! это вам для того чтобы программа не вылетала!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
19.01.2011, 22:20 | #8 |
Пользователь
Регистрация: 19.01.2011
Сообщений: 16
|
А как можно сгенерировать исключение в данном случае?
|
19.01.2011, 22:52 | #9 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Можно читать строку с помощью getline и самостоятельно проверять её корректность. Второй способ: включить генерацию исключения при ошибке чтения. Но следует учитывать, что ошибка возникает только в случае отсутствия цифр во входном потоке, то есть вот такое "334kdfd3" оно пропустит и считает 334.
Код:
Последний раз редактировалось netrino; 19.01.2011 в 22:54. |
19.01.2011, 23:07 | #10 |
Пользователь
Регистрация: 19.01.2011
Сообщений: 16
|
Спасибо всем за помощь.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Исключения не работают | Syltan | Общие вопросы по Java, Java SE, Kotlin | 1 | 09.12.2010 09:17 |
Логарифм - Исключения[C++] | ArniLand | Общие вопросы C/C++ | 2 | 04.05.2010 15:11 |
Исключения | yurik1982 | Фриланс | 9 | 16.02.2010 00:34 |
Исключения | Rifler | Общие вопросы Delphi | 5 | 12.11.2008 00:29 |
Оператор исключения | Titan123 | Общие вопросы Delphi | 12 | 08.07.2008 14:30 |