На этом шаге мы приведем общие сведения об исключительных ситуациях.
В процессе исполнения приложений могут возникнуть так называемые исключения (исключительные ситуации) - это аномальные явления (например, деление на ноль, превышение размерности массивов и т. п.), которые требуют от программы определенной реакции. И в этом случае либо вы в программе как-то реагируете на отклонения от нормального режима, либо система сама отреагирует: обработает по-своему такую ситуацию, выдаст вам сообщение и, как правило, завершит выполнение программы. В таких случаях желательно не дожидаться реакции системы и самому предпринимать необходимые меры, т. е. управлять возникающими в процессе решения вашей задачи проблемами.
Язык C++ обеспечивает в этом смысле встроенную поддержку для обработки возникающих исключений. Управление обработкой исключений состоит в реакции программы на возникновение не ожидаемых ею событий. Кроме специальных операторов, перехватывающих исключения, существует особый класс System::Exceptions, содержащий необходимые свойства и методы, помогающие обрабатывать исключительные ситуации. Например, в классе имеется свойство Message, содержащее описание возникшего исключения, или свойство Source, содержащее имя источника (приложения или объекта), где возникла ошибка. Можно воспользоваться свойством HelpLink, которое выдаст вам ссылку на соответствующий Help-файл, описывающий возникшую ситуацию, или свойством HResult, в котором находится числовой код возникшей ошибки.
В C++ процесс обработки исключительных ситуаций состоит в возникновении (говорят "в выбрасывании" - throwing) ситуаций и в последующем их захвате (catching) для обработки.
На следующем шаге мы перечислим операторы, которые используются для обработки исключительных ситуаций.