Обработка исключительных ситуаций (англ. exception handling) — механизм языков программирования,предназначенный для описания реакции программы на ошибки времени выполнения и другие возможныепроблемы (исключения), которые могут возникнуть при выполнении программы и приводят к невозможности(бессмысленности) дальнейшей отработки программой её базового алгоритма. В русском языке такжеприменяется более короткая форма термина: «обработка исключений».
Общее понятие исключительной ситуации
Во время выполнения программы могут возникать ситуации, когда состояние данных, устройств ввода-вывода или компьютерной системы в целом делает дальнейшие вычисления в соответствии с базовымалгоритмом невозможным или бессмысленными. Классические примеры подобных ситуаций:
· Нулевое значение знаменателя при выполнении операции целочисленного деления. Результата у операциибыть не может, поэтому ни дальнейшие вычисления, ни попытка использования результата деления неприведут к решению задачи.
|
|
· Ошибка при попытке считать данные с внешнего устройства. Если данные не удаётся ввести, любыедальнейшие запланированные операции с ними бессмысленны.
· Исчерпание доступной памяти. Если в какой-то момент система оказывается не в состоянии выделитьдостаточный для прикладной программы объём оперативной памяти, программа не сможет работатьнормально.
· Появление сигнала аварийного отключения электропитания системы. Прикладную задачу, по всейвидимости, решить не удастся, в лучшем случае (при наличии какого-то резерва питания) прикладнаяпрограмма может озаботиться сохранением данных.
· Появление на входе коммуникационного канала данных, требующих немедленного считывания. Чем бы низанималась в этот момент программа, она должна перейти к чтению данных, чтобы не потерятьпоступившую информацию.