Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2016, 18:25   #1
NeadekWHAT|?|
Пользователь
 
Регистрация: 26.11.2015
Сообщений: 11
По умолчанию C++ try, catch, throw

Дано пользовательское число. Как с помощью try, catch, throw избежать недопустимый ввод неинтовского типа? Вся работа конструкции понятна, не знаю только, что писать if (...сюда...) { чтобы здесь вызвать throw }
NeadekWHAT|?| вне форума Ответить с цитированием
Старый 11.12.2016, 20:27   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Если ты можешь пользоваться C++11 -
Код:
try {
   int i = std::stoi(s);
} catch(...) {

}
Если не можешь - проверяй все символы через isdigit.
Son Of Pain вне форума Ответить с цитированием
Старый 11.12.2016, 21:08   #3
olej.tsil
Заблокирован
 
Регистрация: 29.11.2016
Сообщений: 215
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
Если ты можешь пользоваться C++11 -
Код:
try {
   int i = std::stoi(s);
} catch(...) {
}
К сожалению, преобразование stoi() возбудит исключение далеко не во всех требуемых случаях.
"qwe" => exeption
"123.45" => 123
"1we" => 1
olej.tsil вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
try,throw,catch vs goto Arrioh Общие вопросы C/C++ 16 11.01.2013 15:15
Генерирование исключений, список throw() _-Re@l-_ Visual C++ 6 08.02.2012 16:02
Try, throw, catch; нужно ли знать ООП PHP для изучения исключений? alex455 PHP 1 01.08.2011 13:46
throw, try, catch (С++) mego4el Помощь студентам 2 31.05.2011 18:39
throw Syltan Общие вопросы по Java, Java SE, Kotlin 3 17.06.2010 20:35