Использование исключительных ситуаций C++ для обработки ошибок
После того как вы создали и отладили (удалили ошибки) несколько программ, вы уже способны предвидеть ошибки, которые могут встретиться в программе. Например, если ваша программа читает информацию из файла, ей необходимо проверить, существует ли файл и может ли программа его открыть. Аналогично, если ваша программа использует оператор new для выделения памяти, ей необходимо проверить и отреагировать на возможное отсутствие памяти. По мере увеличения размера и сложности ваших программ вы обнаружите, что необходимо включить много таких проверок по всей программе. Из этого урока вы узнаете, как использовать исключительные ситуации C++ для упрощения проверки и обработки ошибок. К концу данного урока вы освоите следующие основные концепции:
Исключительная ситуация (exception) представляет собой неожиданное событие — ошибку — в программе.
В ваших программах вы определяете исключительные ситуации как классы.
Чтобы заставить ваши программы следить за исключительными ситуациями, необходимо использовать оператор C++ try.
Для обнаружения определенной исключительной ситуации ваши программы используют оператор C++ catch.
Для генерации исключительной ситуации при возникновении ошибки ваши программы используют оператор C++ throw.
Если ваша программа обнаруживает исключительную ситуацию, она вызывает специальную (характерную для данной исключительной ситуации) функцию, которая называется обработчиком исключительной ситуации.
Некоторые (старые) компиляторы не поддерживают исключительные ситуации C++.