> ### 由于PHP中的错误机制分为两个部分:错误和异常
> 一 是由于业务逻辑出现不符合预期的情况,称之为异常
> 二 是因为PHP脚本出现错误,如语法错误或者服务器环境,这类称为错误
> 三 除了手动抛出的自定义异常 , 其他异常都属于内部错误,应该记录到内部日志同时对外抛出友好提示
#### 这里用到三个函数:
* set_error_handler()
* set_exception_handler()
* register_shutdown_function()
```
1、对于所有异常 , 我们可以使用set_exception_handler(),设置同一个的方法处理异常。
```
```
2、由于错误级别 的原因,致命的错误只能由register_shutdown_function()注册方法处
理,获取退出脚本前的最后一个错误。notice、warning级别的错误可以由set_error_handler()注册的方法处理。
```
```
3、因此 , 思路就是通过set_error_handler(),register_shutdown_function()这两个方法
将捕获的错误,作为异常抛出,这样就可以与set_exception_handler()使用同一个handle方法去同一处理。
```
```
4、多种不同的异常肯定要加以区分 , 使用instanceof可以轻松找到我们定义的任意一个异常类。
```
> 参考 \Core\Initializer\Error\Error.class.php的实现方式 , 配合面向对象 , 更加方便的指定不同需求