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

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

Восстановить пароль Регистрация
 
Denque
0 / 0 / 1
Регистрация: 19.12.2012
Сообщений: 14
23.04.2014, 22:51     Несовпадение типов и отлов этих исключений #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++
C++ Обработка исключений в классах для пользовательских типов
C++ Несовпадение в выполнении кода с паузами и без, WinSock, выходы за пределы массивов
C++ Один блок catch для двух типов исключений порожденных от одного класса

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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     Несовпадение типов и отлов этих исключений
Ответ Создать тему
Опции темы

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