Такая возможность появилась в PHP5. Идея обработки исключений состоит в том, что: у нас есть кусок кода, в котором может произойти ошибка.
Мы этот кусок кода помещаем в блок под названием ‘try’.
В том месте, где ошибка может произойти, мы ее отслеживаем, и для отслеживания пишем блок ‘catch’ (ловушка), куда это исключение приходит. Рассмотрим работу на примере:
[php] try { $a = 1; $b = 0; if($b == 0) throw new Exception("Деление на 0!"); //здесь может быть ошибка echo $a/$b; }catch(Exception $e){ //здесь может быть только объект класса Exeption echo "Произошла ошибка - ", $e->getMessage(), // Выводит сообщение " в строке ", $e->getLine(), // Выводит номер строки " файла ", $e->getFile(); // Выводит имя файла } [/php]
Есть код. Если b=0, мы генерируем исключение (throw new Exeption… и т.д.). Exeption — это встроенный класс. А слова в скобках — Деление на 0 — это то, что идет в конструктор. Объект класса Exeption создается ‘на лету’ (строка 4), и попадает в переменную $e, которую мы описали в catch (строка 7). А у класса Exeption описано три метода (строки 9-14).