try catch

Обработка исключений

Такая возможность появилась в PHP5. Идея обработки исключений состоит в том, что: у нас есть кусок кода, в котором может произойти ошибка.

Мы этот кусок кода помещаем в блок под названием ‘try’.
В том месте, где ошибка может произойти, мы ее отслеживаем, и для отслеживания пишем блок ‘catch’ (ловушка), куда это исключение приходит. Рассмотрим работу на примере:

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(); // Выводит имя файла
}

Есть код. Если b=0, мы генерируем исключение (throw new Exeption… и т.д.). Exeption — это встроенный класс. А слова в скобках — Деление на 0 — это то, что идет в конструктор. Объект класса Exeption создается ‘на лету’ (строка 4), и попадает в переменную $e, которую мы описали в catch (строка 7). А у класса Exeption описано три метода (строки 9-14).




Добавить комментарий

Ваш e-mail не будет опубликован.