1. 遇到非代码的错误,而是异常
我们都知道PHP代码层面上的报错有notice,warning,error等等
但是这些错误我们都是难以捕获的(就是我们认为代码会一切正常,谁知它却报了个Bug)
而在某些情况下我们是会遇到另一种情况:
- 文件找不到的话,我代码改怎么写
- 数据库连接失败,我接下去代码要怎么写
- 调用第三方接口,结果获取失败了,代码要怎么写
面对这些情况,我们最好调用 try-catch 去处理,这样很多未知的错误我们都可以捕获到
<?php
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"。 |
博客介绍了PHP的异常处理。PHP代码层面报错难捕获,遇到文件找不到、数据库连接失败、调用第三方接口失败等情况,可用try - catch处理,其可嵌套,还有try - catch - finally三层嵌套。此外,还提到set_error_handler函数可自定义错误处理方法。
1332

被折叠的 条评论
为什么被折叠?



