Общая формула оператора throw throw исключительная ситуация; Правили. Оператор throw должен выполняться либо внутри блока try, либо в любой функции, которую этот блок вызывает (прямо или косвенно). Здесь исключительная ситуация - это вызываемая оператором исключительная ситуация. Если вы генерируете исключительную ситуацию, для которой не соответствующего оператора catch, может произойт и ненормальное завершение программы. Пример void mainQ { try { throw 10; } catch(int i) { cou t« " error " « i « endl; } return; } На экран выведется сообщение: error 10 Язык C++ имеет чувствительный к контексту механизм обработки особых ситуаций. Исходя из этого, он может быть более информирован, чем обработчик из signal.h и может обеспечить более сложное восстановление. Он не предназначен для обработки асинхронных исключений, определенных в signal.h. Контекст для установки исключения - это блок try. Обработчики объявлены в конце блока try с использованием ключевого слова catch. Код С+-*- нозволяет непосредственно устанавливать исключения в блоке try, используя выражение throw. Исключение обрабатывается вызовом соответствующего обработчика, который выбирается из списка обработчиков, находящегося сразу после их блока try.
RkJQdWJsaXNoZXIy MTExODQxMg==