在版本 7 之前,PHP 解析器用於報告錯誤以回應各種條件。每個錯誤過去都是特定的預定義類型。 PHP7改變了錯誤報告的機制。現在,大多數錯誤都是透過拋出錯誤異常來報告的,而不是傳統的錯誤報告。
如果錯誤異常未處理,則會報告致命錯誤,並將像傳統錯誤情況一樣進行處理。 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錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!