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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Denque
0 / 0 / 1
Регистрация: 19.12.2012
Сообщений: 14
#1

Несовпадение типов и отлов этих исключений - C++

23.04.2014, 22:51. Просмотров 225. Ответов 1
Метки нет (Все метки)

Доброго времени суток.
Например, у меня есть переменная типа int, а в консоли я ввожу значение(cin) текстового типа. Ничего не происходит, программа аварийно не завершается
C++
1
2
3
int a;
cin >> a;
//ввожу "sadads"
Но у меня программа организована циклом, и если я ввожу текстовое значение, то все последующие условия, связанные с этой переменной выполняются, например, if (a <= 0) {...}
Подскажите, пожалуйста, как отловить этот огрех?
Изучал try-catch, честно говоря, эту конструкцию совсем не понял...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.04.2014, 22:51     Несовпадение типов и отлов этих исключений
Посмотрите здесь:

отлов буквенной клавиши... C++
жесткое несовпадение))) C++
C++ Отлов рисунка
Отлов сообщения у ЛистБокса C++
C++ Отлов событий CGridCtrl
Отлов сообщений и многопоточность C++
C++ Обработка исключений в классах для пользовательских типов
C++ Отлов нажатия клавиш
C++ Несовпадение в выполнении кода с паузами и без, WinSock, выходы за пределы массивов
C++ Один блок catch для двух типов исключений порожденных от одного класса
C++ Несовпадение типов данных при вызове функций
Отлов состояния радиокнопки C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
23.04.2014, 23:06     Несовпадение типов и отлов этих исключений #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
std::string inputData;
std::cin >> inputData;
bool enteredSequenceIsANumber = true;
for(auto it = inputData.begin(); it != inputData.end(); it++)
{
    if(!isdigit(*it))
    {
        enteredSequenceIsANumber = false;
        break;
    }
}
if(enteredSequenceIsANumber)
{
    //Is a number -> continue...
    int enteredNumber = atoi(inputData.c_str());
    //Enjoy :-)
}
Yandex
Объявления
23.04.2014, 23:06     Несовпадение типов и отлов этих исключений
Ответ Создать тему
Опции темы

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