Предопределённые исключения
Exception
Exception — это базовый класс для всех исключений в PHP 5 и базовый класс для всех пользовательских исключений в PHP 7.
До PHP 7 Exception не реализовывал интерфейс Throwable.
Exception implements Throwable { /* Свойства */ protected string $message; protected int $code; protected string $file; protected int $line; /* Методы */ public __construct ([ string $message = "" [, int $code = 0 [, Throwable $previous = NULL ]]] ) final public getMessage ( void ) : string final public getPrevious ( void ) : Throwable final public getCode ( void ) : mixed final public getFile ( void ) : string final public getLine ( void ) : int final public getTrace ( void ) : array final public getTraceAsString ( void ) : string public __toString ( void ) : string final private __clone ( void ) : void }
Свойства:
Методы:
ErrorException
Исключение в случае ошибки.
ErrorException extends Exception { /* Свойства */ protected int $severity ; /* Наследуемые свойства */ protected string $message; protected int $code; protected string $file; protected int $line; /* Методы */ public __construct ([ string $message = "" [, int $code = 0 [, int $severity = E_ERROR [, string $filename = __FILE__ [, int $lineno = __LINE__ [, Exception $previous = NULL ]]]]]] ) final public getSeverity ( void ) : int /* Наследуемые методы */ final public Exception::getMessage ( void ) : string final public Exception::getPrevious ( void ) : Throwable final public Exception::getCode ( void ) : mixed final public Exception::getFile ( void ) : string final public Exception::getLine ( void ) : int final public Exception::getTrace ( void ) : array final public Exception::getTraceAsString ( void ) : string public Exception::__toString ( void ) : string final private Exception::__clone ( void ) : void }
Error
Error - базовый класс для всех внутренних ошибок PHP.
Error implements Throwable { /* Свойства */ protected string $message; protected int $code; protected string $file; protected int $line; /* Методы */ public __construct ([ string $message = "" [, int $code = 0 [, Throwable $previous = NULL ]]] ) final public getMessage ( void ) : string final public getPrevious ( void ) : Throwable final public getCode ( void ) : mixed final public getFile ( void ) : string final public getLine ( void ) : int final public getTrace ( void ) : array final public getTraceAsString ( void ) : string public __toString ( void ) : string final private __clone ( void ) : void }
ArgumentCountError
ArgumentCountError выбрасывается когда в пользовательский метод или функцию передано недостаточное количество аргументов.
ArgumentCountError extends TypeError { /* Наследуемые свойства */ protected string $message; protected int $code; protected string $file; protected int $line; /* Наследуемые методы */ final public Error::getMessage ( void ) : string final public Error::getPrevious ( void ) : Throwable final public Error::getCode ( void ) : mixed final public Error::getFile ( void ) : string final public Error::getLine ( void ) : int final public Error::getTrace ( void ) : array final public Error::getTraceAsString ( void ) : string public Error::__toString ( void ) : string final private Error::__clone ( void ) : void }
ArithmeticError
ArithmeticError выбрасывается, когда возникает ошибка при выполнении математических операций. В PHP 7.0 такие ошибки возможно спровоцировать побитовым смещением на отрицательное значение, или вызовом функции intdiv(), приводящей значение, не входящее в допустимый интервал целых чисел (integer).
ArithmeticError implements Error { /* Наследуемые свойства */ protected string $message; protected int $code; protected string $file; protected int $line; /* Наследуемые методы */ final public Error::getMessage ( void ) : string final public Error::getPrevious ( void ) : Throwable final public Error::getCode ( void ) : mixed final public Error::getFile ( void ) : string final public Error::getLine ( void ) : int final public Error::getTrace ( void ) : array final public Error::getTraceAsString ( void ) : string public Error::__toString ( void ) : string final private Error::__clone ( void ) : void }
AssertionError
AssertionError выбрасывается, когда утверждение, сделанное с помощью assert(), терпит неудачу.
AssertionError implements Error { /* Наследуемые свойства */ protected string $message; protected int $code; protected string $file; protected int $line; /* Наследуемые методы */ final public Error::getMessage ( void ) : string final public Error::getPrevious ( void ) : Throwable final public Error::getCode ( void ) : mixed final public Error::getFile ( void ) : string final public Error::getLine ( void ) : int final public Error::getTrace ( void ) : array final public Error::getTraceAsString ( void ) : string public Error::__toString ( void ) : string final private Error::__clone ( void ) : void }
DivisionByZeroError
DivisionByZeroError выбрасывается при попытке поделить число на ноль.
DivisionByZeroError implements Error { /* Наследуемые свойства */ protected string $message; protected int $code; protected string $file; protected int $line; /* Наследуемые методы */ final public Error::getMessage ( void ) : string final public Error::getPrevious ( void ) : Throwable final public Error::getCode ( void ) : mixed final public Error::getFile ( void ) : string final public Error::getLine ( void ) : int final public Error::getTrace ( void ) : array final public Error::getTraceAsString ( void ) : string public Error::__toString ( void ) : string final private Error::__clone ( void ) : void }
CompileError
Исключение CompileError выбрасывается в некоторых ошибок компиляции, которые ранее выдавали фатальную ошибку.
CompileError extends Error { /* Наследуемые свойства */ protected string $message; protected int $code; protected string $file; protected int $line; /* Наследуемые методы */ final public Error::getMessage ( void ) : string final public Error::getPrevious ( void ) : Throwable final public Error::getCode ( void ) : mixed final public Error::getFile ( void ) : string final public Error::getLine ( void ) : int final public Error::getTrace ( void ) : array final public Error::getTraceAsString ( void ) : string public Error::__toString ( void ) : string final private Error::__clone ( void ) : void }
ParseError
ParseError выбрасывается, когда возникает ошибка при разборе PHP-кода, например, когда вызывается функция eval().
Начиная с PHP 7.3.0, класс ParseError наследуется от CompileError. Ранее этот класс расширял класс Error.
ParseError extends CompileError { /* Наследуемые свойства */ protected string $message; protected int $code; protected string $file; protected int $line; /* Наследуемые методы */ final public Error::getMessage ( void ) : string final public Error::getPrevious ( void ) : Throwable final public Error::getCode ( void ) : mixed final public Error::getFile ( void ) : string final public Error::getLine ( void ) : int final public Error::getTrace ( void ) : array final public Error::getTraceAsString ( void ) : string public Error::__toString ( void ) : string final private Error::__clone ( void ) : void }
TypeError
Есть три сценария, в которых будет выброшено исключение TypeError. Первый - тип аргумента, переданный функции, не соответствует типу, объявленному в функции для этого аргумента. Второй - тип возвращенного функцией значения не соответствует типу возврата, объявленному в функции. Третий - встроенной функции PHP было передано неверное количество аргументов (только для режима strict).
TypeError extends Error { /* Наследуемые свойства */ protected string $message; protected int $code; protected string $file; protected int $line; /* Наследуемые методы */ final public Error::getMessage ( void ) : string final public Error::getPrevious ( void ) : Throwable final public Error::getCode ( void ) : mixed final public Error::getFile ( void ) : string final public Error::getLine ( void ) : int final public Error::getTrace ( void ) : array final public Error::getTraceAsString ( void ) : string public Error::__toString ( void ) : string final private Error::__clone ( void ) : void }