Exception

(PHP 5, PHP 7, PHP 8)

Вступ

Exception is the base class for all user exceptions.

Короткий огляд класу

class Exception implements Throwable {
/* Властивості */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Методи */
public __construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public getMessage(): string
final public getPrevious(): ?Throwable
final public getCode(): int
final public getFile(): string
final public getLine(): int
final public getTrace(): array
final public getTraceAsString(): string
public __toString(): string
private __clone(): void
}

Властивості

message

The exception message

code

The exception code

file

The filename where the exception was created

line

The line where the exception was created

previous

The previously thrown exception

string

The string representation of the stack trace

trace

The stack trace as an array

Зміст

add a note

User Contributed Notes 3 notes

up
100
whysteepy at gmail dot com
7 years ago
Lists of Throwable and Exception tree as of 7.2.0    Error      ArithmeticError        DivisionByZeroError      AssertionError      ParseError      TypeError        ArgumentCountError    Exception      ClosedGeneratorException      DOMException      ErrorException      IntlException      LogicException        BadFunctionCallException          BadMethodCallException        DomainException        InvalidArgumentException        LengthException        OutOfRangeException      PharException      ReflectionException      RuntimeException        OutOfBoundsException        OverflowException        PDOException        RangeException        UnderflowException        UnexpectedValueException      SodiumException Find the script and output in the following links:https://gist.github.com/mlocati/249f07b074a0de339d4d1ca980848e6ahttps://3v4l.org/sDMsvposted by someone here http://php.net/manual/en/class.throwable.php
up
32
cHao
10 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
8
shaman_master at list dot ru
5 years ago
Note: this documentation not full, ReflectionObject::export($exception):<?phpObject of class [  class Exception implements Throwable ] {  - Properties [7] {    Property [  protected $message ]    Property [  private $string ]    Property [  protected $code ]    Property [  protected $file ]    Property [  protected $line ]    Property [  private $trace ]    Property [  private $previous ]  }  - Methods [11] {    Method [  final private method __clone ] {    }    Method [  public method __construct ] {      - Parameters [3] {        Parameter #0 [  $message ]        Parameter #1 [  $code ]        Parameter #2 [  $previous ]      }    }    Method [  public method __wakeup ] {    }    Method [  final public method getMessage ] {    }    Method [  final public method getCode ] {    }    Method [  final public method getFile ] {    }    Method [  final public method getLine ] {    }    Method [  final public method getTrace ] {    }    Method [  final public method getPrevious ] {    }    Method [  final public method getTraceAsString ] {    }    Method [  public method __toString ] {    }  }}?>Missed:    Property [  private $string ]    Property [  private $trace ]    Property [  private $previous ]    Method [  public method __wakeup ] {    }
To Top