在實際開發中,錯誤及異常捕捉僅僅靠try{}catch()是遠遠不夠的。
是以引用以下幾中函數。
a) set_error_handler
一般用于捕捉 E_NOTICE 、E_USER_ERROR、E_USER_WARNING、E_USER_NOTICE
不能捕捉:
E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR and E_COMPILE_WARNING。
一般與trigger_error("...", E_USER_ERROR),配合使用。
b) set_exception_handler
設定預設的異常處理程式,用于沒有用 try/catch 塊來捕獲的異常。 在 exception_handler 調用後異常會中止。
與throw new Exception('Uncaught Exception occurred'),連用。
c) register_shutdown_function
執行機制是:php把要調用的函數調入記憶體。當頁面所有PHP語句都執行完成時,再調用此函數。
c) restore_error_handler()函數
定義和用法 restore_error_handler() 函數恢複之前的錯誤處理程式,該程式是由 set_error_handler() 函數改變的。
該函數永遠傳回 true。
是 set_error_handler()的反函數。