1. 遇到非代码的错误,而是异常
我们都知道PHP代码层面上的报错有notice,warning,error等等
但是这些错误我们都是难以捕获的(就是我们认为代码会一切正常,谁知它却报了个Bug)
而在某些情况下我们是会遇到另一种情况:
面对这些情况,我们最好调用 try-catch 去处理,这样很多未知的错误我们都可以捕获到
- try{
- //查找文件
- //调用各种接口
- //数据库连接等等
- }catch(Exception $e){
- //这里写捕获异常的逻辑
- }
其次 try-catch 是可以嵌套的使用的,
另外,还可以使用 try-catch-finally三层嵌套,其中try 中return 后finally会继续执行,如果finally中也有 return ; 则最终返回值为 finally 中 return 的值
try 中die 或exit后finally不会执行
- try{
- //业务逻辑
- }catch(Exception $e){
- //时刻准备着,解Exception
- }finally{
- //这里return更优先
- }
2.set_error_handler
set_error_handler 函数可以让用户自己处理/自定义错误处理方法
set_error_handler(error_function,error_types)
| 参数 | 描述 |
|---|---|
| error_function | 必需。规定发生错误时运行的函数。 |
| error_types | 可选。规定在哪个错误报告级别会显示用户定义的错误。默认是 "E_ALL"。 |