> ### 由于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的實現方式 , 配合面向對象 , 更加方便的指定不同需求