异常

(PHP 5, PHP 7, PHP 8)

简介

Exception 是所有用户异常的基类。

类概要

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

异常消息

code

异常代码

file

创建异常的文件名

line

创建异常的行号

previous

之前抛出的异常

string

堆栈跟踪的字符串表示

trace

堆栈跟踪作为数组

目录

添加笔记

用户贡献的笔记 3 笔记

whysteepy at gmail dot com
6 年前
截至 7.2.0 的 Throwable 和 Exception 树列表

错误
ArithmeticError
DivisionByZeroError
AssertionError
ParseError
TypeError
ArgumentCountError
异常
ClosedGeneratorException
DOMException
ErrorException
IntlException
LogicException
BadFunctionCallException
BadMethodCallException
DomainException
InvalidArgumentException
LengthException
OutOfRangeException
PharException
ReflectionException
RuntimeException
OutOfBoundsException
OverflowException
PDOException
RangeException
UnderflowException
UnexpectedValueException
SodiumException

在以下链接中找到脚本和输出
https://gist.github.com/mlocati/249f07b074a0de339d4d1ca980848e6a
https://3v4l.org/sDMsv

由这里的人发布 https://php.net/manual/en/class.throwable.php
cHao
9 年前
请注意,异常的属性是在*创建*异常时填充的,而不是在抛出异常时填充的。抛出异常似乎不会修改它们。

除其他事项外,这意味着

* 异常将指责创建它的行,而不是抛出它的行。

* 与其他一些语言不同,重新抛出异常不会弄乱跟踪。

* 抛出的异常和未抛出的异常看起来基本相同。在我的机器上,唯一明显的区别是抛出的异常有一个`xdebug_message` 属性,而未抛出的异常没有。当然,如果你没有安装 xdebug,你甚至不会得到它。
shaman_master at list dot ru
4 年前
注意:此文档不完整,ReflectionObject::export($exception)
<?php
[ 类 Exception 实现 Throwable ] {
-
属性 [7] {
属性 [ 受保护 $message ]
属性 [ 私有 $string ]
属性 [ 受保护 $code ]
属性 [ 受保护 $file ]
属性 [ 受保护 $line ]
属性 [ 私有 $trace ]
属性 [ 私有 $previous ]
}
-
方法 [11] {
方法 [ 最终 私有 方法 __clone ] {
}

方法 [ 公共 方法 __construct ] {

-
参数 [3] {
参数 #0 [ $message ]
参数 #1 [ $code ]
参数 #2 [ $previous ]
}
}

方法 [ 公共 方法 __wakeup ] {
}

方法 [ 最终 公共 方法 getMessage ] {
}

方法 [ 最终 公共 方法 getCode ] {
}

方法 [ 最终 公共 方法 getFile ] {
}

方法 [ 最终 公共 方法 getLine ] {
}

方法 [ 最终 公共 方法 getTrace ] {
}

方法 [ 最终 公共 方法 getPrevious ] {
}

方法 [ 最终 公共 方法 getTraceAsString ] {
}

方法 [ 公共 方法 __toString ] {
}
}
}
?>

遗漏

属性 [ 私有 $string ]
属性 [ 私有 $trace ]
属性 [ 私有 $previous ]

方法 [ 公共 方法 __wakeup ] {
}
To Top