错误/异常处理
错误处理
错误类型
https://www.php.net/manual/zh/errorfunc.constants.php
错误处理相关php.ini配置
error_reporting:设置哪种错误需要报告
display_errors:不会再标准输出中输出错误
log_errors、error_log:设置是否需要记录错误,记录到哪里
默认情况下,php的错误处理逻辑是将错误信息输出的标准输出,可以通过 set_error_handler 设置自己的错误处理逻辑,可以给每种错误级别设置不同的错误处理函数,但是每种错误级别只能设置一个错误处理函数
异常处理
异常只能被手动抛出
异常必须被捕获,否则会引起一个致命错误
可以通过 set_exception_handler 设置自己的异常处理函数,来处理没有被捕获的异常
php7之后做的改动
添加了Throwable接口,和Error类,Error和Exception均实现了Throwable接口;<br>Throwable 类型均可被 try...catch 捕获;<br>大多数错误被作为 Error 抛出
坑
循环引用
$a = [1,2,2,3];<br>echo json_encode(array_unique($a));
var_dump(array_merge([1,2,3], false));
md5('240610708') == md5('QNKCDZO')