簡介
在版本 7 之前,PHP 解析器用于報告錯誤以響應各種條件。每個錯誤過去都是特定的預定義類型。 PHP7改變了錯誤報告的機制?,F在,大多數錯誤都是通過拋出錯誤異常來報告的,而不是傳統的錯誤報告。
如果錯誤異常未得到處理,則會報告致命錯誤,并將像傳統錯誤情況一樣進行處理。 PHP的錯誤層次結構從Throwable接口開始。所有預定義的錯誤,例如 ArithmeticError、AssertionError、CompileError 和 TypeError 都是實現 Throwable iterface 的類。 PHP 7 中的 Exception 也實現了 Throwable 接口。
Throwable 接口充當任何可以通過 throw 語句拋出的對象的基礎,包括 Error 和 Exception > 對象。用戶定義的類不能直接實現 Throwable 接口。相反,要聲明用戶定義的異常類,它必須擴展 Exception 類。
PHP 的異常處理由 throw、catch 組成。 strong>、try 語句。要引發異常對象,需要使用 throw 關鍵字。拋出的異常由catch塊處理。可能存在異常漏洞的 PHP 代碼包含在 try 塊中。
可能存在一個或多個 catch 塊來捕獲 Exception 類的不同實例。當try塊中沒有發生異常時,將在最后一個catch塊之后繼續正常執行。然而,當在 try 塊內引發異常時,PHP 會嘗試查找與要處理的異常類型匹配的 catch 塊,而不是執行嵌套語句。如果沒有定義匹配的catch塊,PHP解析器將報告致命錯誤并帶有未捕獲的異常消息。
您還可以提供finally strong> 在 catch 塊之后或代替 catch 塊。無論try塊內是否發生異常,finally塊中的代碼都會被執行。
以上就是PHP7中的PHP錯誤的詳細內容,更多請關注www.92cms.cn其它相關文章!