Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник PHP

Exception

Базовый класс исключений.

Синтаксис

new Exception(string $message = "", int $code = 0, ?Throwable $previous = null)

Параметры

ПараметрТипОписание
$messagestringНеобязательный. Сообщение об ошибке.
$codeintНеобязательный. Числовой код ошибки.
$previous?ThrowableНеобязательный. Исключение, которое стало причиной этого.

Возвращаемое значение

ExceptionОбъект с методами `getMessage()`, `getCode()`, `getFile()`, `getLine()`.

Примеры

Выброс и перехват:

<?php
 
try {
    throw new Exception('Something went wrong', 42);
} catch (Exception $error) {
    echo $error->getMessage(), ' ', $error->getCode();
}

Результат:

Something went wrong 42

Собственный класс исключения:

<?php
 
class PaymentFailed extends Exception {}
 
try {
    throw new PaymentFailed('Card declined');
} catch (PaymentFailed $error) {
    echo get_class($error), ': ', $error->getMessage();
}

Результат:

PaymentFailed: Card declined

Примечания

Ошибки самого PHP — TypeError, DivisionByZeroError — наследуют не Exception, а Error. Чтобы перехватить и те и другие, ловите Throwable.

См. также

  • InvalidArgumentException — Исключение для неверного аргумента функции.
  • PDO — Подключение к базе данных.

Вопросы и ответы по теме

В учебнике

  • Исключения — Исключения в PHP — throw, try, catch и finally, собственные классы исключений и встроенные ошибки.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.