ScotlandPHP 2016

Exception

(PHP 5 >= 5.1.0, PHP 7)

Einführung

Exception ist die Basisklasse für alle Exceptions.

Klassenbeschreibung

Exception {
/* Eigenschaften */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
/* Methoden */
public __construct ([ string $message = "" [, int $code = 0 [, Exception $previous = NULL ]]] )
final public string getMessage ( void )
final public Exception 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 )
}

Eigenschaften

message

Die Exceptionmeldung.

code

Die Fehlernummer der Exception.

file

Der Name der Datei, in der die Exception erzeugt wurde.

line

Die Zeilennummer, in der die Exception erzeugt wurde.

Inhaltsverzeichnis

add a note add a note

User Contributed Notes 1 note

up
35
cHao
1 year 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.
To Top