PHP7 中的錯誤
簡介
在 7 版本之前,PHP 解析器用於在響應各種條件時報告錯誤。每個錯誤都屬於某種預定義的型別。PHP7 改變了錯誤報告的機制。大多數錯誤現在透過丟擲錯誤異常來報告,而不是傳統的錯誤報告。
如果錯誤異常未被處理,則會報告致命錯誤,並像傳統錯誤條件一樣進行處理。PHP 的錯誤層次結構從 **Throwable** 介面開始。所有預定義的錯誤,如 **ArithmeticError**、**AssertionError**、**CompileError** 和 **TypeError** 都是實現 Throwable 介面的類。PHP 7 中的異常也實現了 Throwable 介面。
Throwable 介面充當任何可以透過 throw 語句丟擲的物件的基類,包括 **Error** 和 **Exception** 物件。使用者定義的類不能直接實現 Throwable 介面。相反,要宣告使用者定義的異常類,它必須擴充套件 **Exception** 類。
PHP 的異常處理包含 **throw**、**catch**、**try** 語句。要引發異常物件,可以使用 **throw** 關鍵字。丟擲的異常由 **catch** 塊處理。可能存在異常風險的 PHP 程式碼包含在 **try** 塊中。
可以存在一個或多個 catch 塊來捕獲 Exception 類的不同例項。當 try 塊中沒有發生異常時,正常執行將在最後一個 catch 塊之後繼續。但是,當 try 塊內部丟擲異常時,PHP 會嘗試查詢與要處理的異常型別匹配的 catch 塊,而不是執行巢狀語句。如果未定義匹配的 catch 塊,PHP 解析器將報告 **致命錯誤**,並顯示 **未捕獲的異常** 訊息。
您也可以在 catch 塊之後或代替 catch 塊提供 **finally** 塊。finally 塊中的程式碼將始終執行,無論 try 塊中是否發生異常。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP