PHP Error

2024-01-05 35

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对象。

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。