在版本 7 之前,PHP 解析器用于报告错误以响应各种条件。每个错误过去都是特定的预定义类型。 PHP7改变了错误报告的机制。现在,大多数错误都是通过抛出错误异常来报告的,而不是传统的错误报告。
如果错误异常未得到处理,则会报告致命错误,并将像传统错误情况一样进行处理。 PHP的错误层次结构从Throwable接口开始。所有预定义的错误,例如 ArithmeticError、AssertionError、CompileError 和 TypeError 都是实现 Throwable iterface 的类。 PHP 7 中的 Exception 也实现了 Throwable 接口。
Throwable 接口充当任何可以通过 throw 语句抛出的对象的基础,包括 Error 和 Exception > 对象。用户定义的类不能直接实现 Throwable 接口。相反,要声明用户定义的异常类,它必须扩展 Exception 类。
PHP 的异常处理由 throw、catch 组成。 strong>、try 语句。要引发异常对象,需要使用 throw 关键字。抛出的异常由catch块处理。可能存在异常漏洞的 PHP 代码包含在 try 块中。
可能存在一个或多个 catch 块来捕获 Exception 类的不同实例。当try块中没有发生异常时,将在最后一个catch块之后继续正常执行。然而,当在 try 块内引发异常时,PHP 会尝试查找与要处理的异常类型匹配的 catch 块,而不是执行嵌套语句。如果没有定义匹配的catch块,PHP解析器将报告致命错误并带有未捕获的异常消息。
您还可以提供finally strong> 在 catch 块之后或代替 catch 块。无论try块内是否发生异常,finally块中的代码都会被执行。
以上就是PHP7中的PHP错误的详细内容,更多请关注php中文网其它相关文章!
已抢65637个
抢已抢30594个
抢已抢16835个
抢已抢8518个
抢已抢11022个
抢已抢22761个
抢