Учебное пособие: Обработка ошибок в коде программ РНР

3.3 РАСКРУТКА СТЕКА

3.4 ИСКЛЮЧЕНИЯ И ДЕСТРУКТОРЫ

3.5 ИСКЛЮЧЕНИЯ И set_error_handler()

3.6 КЛАССИФИКАЦИЯ И НАСЛЕДОВАНИЕ

3.7 БАЗОВЫЙ КЛАСС Exception

3.8 ИСПОЛЬЗОВАНИЕ ИНТЕРФЕЙСОВ

3.9 БЛОКИ-ФИНАЛИЗАТОРЫ

3.9.1 Неподдерживаемая конструкция try...finally

3.9.2 "Выделение ресурса есть инициализация"

3.9.3 Перехват всех исключений

3.10 ТРАНСФОРМАЦИЯ ОШИБОК

3.10.1 Серьезность "несерьезных" ошибок

3.10.2 Преобразование ошибок в исключения

3.10.3 Код библиотеки PHP_Exceptionizer

3.10.4 Иерархия исключений

3.10.5 Фильтрация по типам ошибок

3.10.6 Перспективы

ЗАКЛЮЧЕНИЕ

ЛИТЕРАТУРА


ВВЕДЕНИЕ

Имеется мнение: "В любой программе есть хотя бы одна ошибка". На практике "хотя бы одна" означает "много" или даже "очень много".

Фаза "избавления" программы от ошибок (фаза отладки) является наиболее длительной и трудоемкой. Основное времяпровождение программиста (и не только) — это борьба с ошибками.

Одна из самых сильных черт РНР — возможность отображения сообщений об ошибках прямо в браузере. В зависимости от состояния интерпретатора сообщения будут выводиться в браузер или подавляться.

Для успешной борьбы с ошибками нужно научиться управлять настройками РНР, узнать о его тонких местах и о возможностях основных директив. Отдельное внимание следует уделять методикам отладки скриптов, а точнее — обработке сообщений об ошибках и предупреждений, которые могут возникнуть во время работы программы, а также выводу стека вызовов процедур (подобного тому, что существует в языках Java и Perl). Следует с осторожностью использовать оператор отключения предупреждений об ошибках.

Задача обработки ошибок в коде программы - одна из самых важных и популярных при программировании. Для ее успешного решения требуется уточнить понятие термина "ошибка" и определить его роль в программировании, а также изучить различные классификации ошибочных ситуаций. Эта задача может быть эффективно решена при использовании понятия "исключение" и способов применения конструкции try...catch. Использование механизма наследования и классификации исключений может сильно сократить код программы и сделать его универсальным. Существуют коды библиотек, позволяющих обрабатывать многочисленные ошибки и предупреждения, генерируемые функциями РНР, как обыкновенные исключения.

Грамотный перехват ошибок с самого зарождения программирования считался трудной задачей. Механизм обработки исключений, хотя и упрощает ее, но все равно остается весьма сложным.


1. КОНТРОЛЬ ОШИБОК

Термин "ошибка" имеет три различных значений:

1. Ошибочная ситуация — факт наличия ошибки в программе. Это может быть, например, синтаксическая ошибка (пропущенная скобка), или же ошибка семантическая — смысловая (использование переменной, которая ранее не была определена).

2. Внутреннее сообщение об ошибке ("внутренняя ошибка"), которую выдает РНР в ответ на различные неверные действия программы (например, открытие несуществующего файла).

В РНР можно устанавливать различные режимы отображения ошибок, поэтому факт наличия ошибки в программе в смысле предыдущего пункта далеко не всегда приводит к выводу сообщения о ней.

К-во Просмотров: 380
Бесплатно скачать Учебное пособие: Обработка ошибок в коде программ РНР