Форум программистов, компьютерный форум CyberForum.ru

Обработка исключительных ситуаций - C++

Восстановить пароль Регистрация
 
OdessaNA
 Аватар для OdessaNA
19 / 19 / 0
Регистрация: 10.01.2011
Сообщений: 240
01.05.2013, 18:07     Обработка исключительных ситуаций #1
Здравствуйте, друзья.
Подскажите, пожалуйста, как можно при помощи try-throw-catch "защититься" от ввода пользователем "не того типа данных" :
C++
1
2
int var;
cin >> var;
Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
01.05.2013, 21:43     Обработка исключительных ситуаций #2
Никак, ни одна из версий оператора >> не кидают исключений.
Можно сделать проверку бита std::ios::failbit для std::cin, таким образом можно реализовать контроль ввода данных.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6172 / 2901 / 284
Регистрация: 04.12.2011
Сообщений: 7,723
Записей в блоге: 3
01.05.2013, 23:39     Обработка исключительных ситуаций #3
OdessaNA, с праздником! Вот ссылка, где также проводится проверка:
Контроль правильности ввода в int
Ну, то есть если Вам для конструктора нужно, скажем, то выбросить самому придётся.
OdessaNA
 Аватар для OdessaNA
19 / 19 / 0
Регистрация: 10.01.2011
Сообщений: 240
02.05.2013, 08:05  [ТС]     Обработка исключительных ситуаций #4
Спасибо!
-=ЮрА=-
Заблокирован
Автор FAQ
02.05.2013, 09:00     Обработка исключительных ситуаций #5
OdessaNA, прочти
Безопасный ввод через функцию-шаблон не надо никаких try catch конструкций
Yandex
Объявления
02.05.2013, 09:00     Обработка исключительных ситуаций
Ответ Создать тему
Опции темы

Текущее время: 16:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru