Exception

(PHP 5 >= 5.1.0, PHP 7)

Введение

Exception — это базовый класс для всех исключений в PHP 5, и для всех пользовательских исключений в PHP 7.

В PHP 7 Exception реализует интерфейс Throwable.

Обзор классов

Exception {
/* Свойства */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Методы */
public __construct ([ string $message = "" [, int $code = 0 [, Throwable $previous = NULL ]]] )
final public string getMessage ( void )
final public Throwable getPrevious ( void )
final public mixed getCode ( void )
final public string getFile ( void )
final public int getLine ( void )
final public array getTrace ( void )
final public string getTraceAsString ( void )
public string __toString ( void )
final private void __clone ( void )
}

Свойства

message

Текст исключения

code

Код исключения

file

Имя файла, в котором было вызвано исключение

line

Номер строки, в которой было вызвано исключение

Содержание

add a note add a note

User Contributed Notes 3 notes

up
34
cHao
3 years ago
Note that an exception's properties are populated when the exception is *created*, not when it is thrown.  Throwing the exception does not seem to modify them.

Among other things, this means:

* The exception will blame the line that created it, not the line that threw it.

* Unlike in some other languages, rethrowing an exception doesn't muck up the trace.

* A thrown exception and an unthrown one look basically identical.  On my machine, the only visible difference is that a thrown exception has an `xdebug_message` property while an unthrown one doesn't.  Of course, if you don't have xdebug installed, you won't even get that.
up
-1
maxalmonte14 at hotmail dot com
17 days ago
The reason because Exception class does not implement the Throwable interface is Exception exists since PHP5, while Throwable was defined in PHP7! So, Throwable interface is only for core use purpose, you cannot implement it in your own classes, if you want to make your classes "throwable" you have to extend Exception class.
up
-19
fazlidddin dot uzbek at yahoo dot com
2 months ago
Must be
Exception implements Throwable
{
...
}

instead of

Exception
{

}
To Top