Обработка ошибок

Человек несовершенен. Нужно быть готовым к тому, что вместо ожидаемого на экране компьютера появится сообщение об ошибке. Избежать этого, к сожалению, почти невозможно. На начальном этапе сообщения об ошибках будут довольно частыми. Основной причиной ошибок сначала, вероятнее всего, будут непарные скобки (выше мы говорили о текстовых редакторах, помогающих их контролировать) и ошибки в записи конструкций Parser.

Если в ходе работы возникла ошибка, обычно обработка страницы прекращается, происходит откат (rollback) по всем активным на момент ошибки SQL-соединениям, и вместо того вывода, который должен был попасть пользователю, вызывается метод unhandled_exception, ему передается информация об ошибке и стек вызовов, приведших к ошибке, а также выдаются результаты его работы. Помимо этого, ошибка записывается в журнал ошибок веб-сервера.

Однако часто желательно перехватить возникшую ошибку и сделать нечто полезное вместо ошибочного кода. Допустим, нужно проверить на правильность XML-код, полученный из ненадежного источника. Здесь прерывание обработки страницы совершенно ни к чему, наоборот - разработчик ожидает ошибку определенного типа и хочет ее обработать. Parser с радостью идет навстречу и предоставляет для этого мощный инструмент: оператор
try.

При сложной обработке данных часто выясняется, что имеет место ошибка в методе, вызванном из другого, а тем, в свою очередь, из третьего. Как в такой ситуации просто сообщить и обработать ошибку? Следует использовать оператор
throw, чтобы сообщить об ошибке, и обрабатывать ошибку на верхнем уровне - и тогда ее не придется исправлять на всех уровнях вложенности вызовов методов. Также во многих ситуациях сам Parser или его системные классы сообщают о ошибках, см. «Системные ошибки».


Copyright © 1997–2024 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 25.09.2024