天天看點

php錯誤及異常捕捉

在實際開發中,錯誤及異常捕捉僅僅靠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()的反函數。