Страницы

Поиск по вопросам

среда, 12 июня 2019 г.

CTRL + C в консольном приложении

Есть код.
#include #include #include #include
int main(int argc, char* argv[] ) { int error = 0; int num = 0;
for (std::string day; std::cin >> day;) { if (day == "|") break; try { std::cin >> num; if (!std::cin) { std::cin.ignore(std::numeric_limits::max(), EOF); std::cin.clear(); throw std::exception("Enter the number
");
} } catch (std::exception) { std::cerr << "Input error
"; error += 1; } }
return 0; }
Почему при нажатии CTRL + C в 16 строке происходит выход из цикла, да и вообще выход из main. Хотя оператор if в 17 строке срабатывает.


Ответ

Дело в том, что при нажатии CTRL+C в консоли система останавливает запущенное приложение. Это действие по умолчанию, и может быть настроено (как - зависит от вашей ОС). Именно поэтому программа завершается.

Комментариев нет:

Отправить комментарий