1 錯誤與異常
1、set_exception_handler 可以自定義處理所有未被try catch捕獲的異常
2、set_error_handler 自定義處理一些低級別的錯誤(只能捕捉到warning、notice等低級別)。
3、register_shutdown_function 使用error_get_last(),獲取未被set_error_handler 捕捉的錯誤
set_error_handler和set_exception_handler 後面定義的會把前面定義的覆蓋掉。
register_shutdown_function 不管定義幾次,都不會覆蓋,每個定義的方法都會被執行。
錯誤和異常的區別:絕大多數異常都需要主動拋出(極少例外),沒有拋出的異常都是錯誤。