首页 > 文章列表 > PHP7中的PHP错误

PHP7中的PHP错误

PHP错误处理 PHP异常处理 PHP错误日志
288 2023-08-30

简介

在版本 7 之前,PHP 解析器用于报告错误以响应各种条件。每个错误过去都是特定的预定义类型。 PHP7改变了错误报告的机制。现在,大多数错误都是通过抛出错误异常来报告的,而不是传统的错误报告。

如果错误异常未得到处理,则会报告致命错误,并将像传统错误情况一样进行处理。 PHP的错误层次结构从Throwable接口开始。所有预定义的错误,例如 ArithmeticErrorAssertionErrorCompileErrorTypeError 都是实现 Throwable iterface 的类。 PHP 7 中的 Exception 也实现了 Throwable 接口。

Throwable 接口充当任何可以通过 throw 语句抛出的对象的基础,包括 ErrorException > 对象。用户定义的类不能直接实现 Throwable 接口。相反,要声明用户定义的异常类,它必须扩展 Exception 类。

PHP 的异常处理由 throwcatch 组成。 strong>、try 语句。要引发异常对象,需要使用 throw 关键字。抛出的异常由catch块处理。可能存在异常漏洞的 PHP 代码包含在 try 块中。

可能存在一个或多个 catch 块来捕获 Exception 类的不同实例。当try块中没有发生异常时,将在最后一个catch块之后继续正常执行。然而,当在 try 块内引发异常时,PHP 会尝试查找与要处理的异常类型匹配的 catch 块,而不是执行嵌套语句。如果没有定义匹配的catch块,PHP解析器将报告致命错误并带有未捕获的异常消息。

您还可以提供finally strong> 在 catch 块之后或代替 catch 块。无论try块内是否发生异常,finally块中的代码都会被执行。