PHP错误是指在PHP脚本运行期间发生的错误,这些错误可以分为致命错误(fatal errors)、解析错误(parse errors)、警告(warnings)等。其中Error 是所有PHP内部错误类的基类。本教程将介绍Error的属性及相关示例。
一、错误级别
错误日志通常被分为不同的错误级别,包括:
1、E_ERROR:严重错误,系统无法继续执行下去,需要立即停止执行。
2、E_WARNING:警告级别错误,系统可以继续执行下去,但可能会影响程序的正确性。
3、E_NOTICE:通知级别错误,一些值在赋值之前被使用了,虽然不会影响程序的运行,但可能会导致意外的结果。
4、E_STRICT:编码标准的提示,用于标记一些代码编写不规范的地方,以提高代码的可读性和可维护性。
5、E_DEPRECATED:在未来版本中将删除的过时功能的提示,建议开发者尽快修改代码以适应新的标准。
6、E_PARSE:语法分析错误,代码无法解析,通常是由于语法错误导致的。
二、类摘要
class Error 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 }
三、属性
1、$message:错误信息,默认为空字符串。
2、$string:私有属性,默认为空字符串。
3、$code:错误代码,默认为0。
4、$file:错误发生的文件名,默认为空字符串。
5、$line:错误发生的行号,默认为0。
6、$trace:错误追踪信息,默认为空数组。
7、$previous:上一个异常对象,默认为null。
四、自定义Error处理
1、Error::__construct — 初始化 error 对象:该方法用于初始化Error对象,可以接受3个参数,分别为错误信息、错误代码、上一个异常。
2、Error::getMessage — 获取错误信息:该方法用于获取Error对象中存储的错误信息。
3、Error::getPrevious — 返回先前的 Throwable:该方法用于获取从当前Error对象中继承而来的Throwable对象。
4、Error::getCode — 获取错误代码:该方法用于获取Error对象中存储的错误代码。
5、Error::getFile — 获取错误发生时的文件:该方法用于获取Error对象中存储的错误发生时所在的文件名。
6、Error::getLine — 获取错误发生时的行号:该方法用于获取Error对象中存储的错误发生时所在的行号。
7、Error::getTrace — 获取调用栈(stack trace):该方法用于获取Error对象中存储的调用栈信息,返回一个数组。
8、Error::getTraceAsString — 获取字符串形式的调用栈(stack trace):该方法用于获取Error对象中存储的调用栈信息的字符串形式。
9、Error::__toString — error 的字符串表达:该方法用于将Error对象转换成字符串。
10、Error::__clone — 克隆 error:该方法用于克隆Error对象。