PHP 7 錯誤處理

PHP 7 改變了大多數(shù)錯誤的報告方式。不同于傳統(tǒng)(PHP 5)的錯誤報告機制,現(xiàn)在大多數(shù)錯誤被作為 Error 異常拋出。

這種 Error 異??梢韵?Exception 異常一樣被第一個匹配的 try / catch 塊所捕獲。如果沒有匹配的 catch 塊,則調(diào)用異常處理函數(shù)(事先通過 set_exception_handler() 注冊)進行處理。 如果尚未注冊異常處理函數(shù),則按照傳統(tǒng)方式處理:被報告為一個致命錯誤(Fatal Error)。

Error 類并非繼承自 Exception 類,所以不能用 catch (Exception $e) { ... } 來捕獲 Error。你可以用 catch (Error $e) { ... },或者通過注冊異常處理函數(shù)( set_exception_handler())來捕獲 Error