當發生錯誤時,腳本的正常流程會停止,並且可以使用異常來更改錯誤。使用者可以透過擴展 PHP 程式碼庫中內建的異常類,根據圖書館、公司或我們的應用程式的要求自訂異常。在這裡,我們將看到屬性和成員,它們都在子類別的範圍內,子類別從內建異常類別中取得。 廣告 該類別中的熱門課程 PHP 開發人員 - 專業化 | 8 門課程系列 | 3次模擬測驗 開始您的免費軟體開發課程 網頁開發、程式語言、軟體測試及其他 以下是異常發生時發生的事情: 首先保存程式碼的目前狀態。 異常處理程序將從程式碼的已儲存狀態繼續執行、終止其執行,或從程式碼的其他位置繼續執行。 讓我們知道為什麼除了內建異常之外我們還需要自訂某些異常: 我們可以輕鬆辨識程式碼層次結構中哪個類別、擴充或字串產生異常。 透過使用它,開發人員可以輕鬆發現程式碼中的問題。 它可用於對某些函式庫異常進行品牌化,例如 DOM、PDO 等。 我們可以根據需要配置任意數量的自訂異常。 PHP 自訂異常的語法 對於要拋出的自訂異常,我們應該簡單地從已經內建的 Exception 類別擴展另一個類別。 現在創建了上面的 CustException 類,我們可以拋出一個自訂異常,如下所示: 我們也可以根據需要自訂它以覆寫某些類別屬性,例如檔案、程式碼、行及其訊息,或使用 __toString() 方法強制此異常訊息採用我們必須使用的格式。 PHP 中自訂函數的工作 讓我們透過幾個例子來看看這個函數的工作原理: 範例#1 代碼: 輸出: 說明: 在這個例子中,我們將看到如何自訂拋出異常。為此,首先,我們為此目的定義一個類,在此,我們使用建構函數重新定義異常訊息,使其成為非可選的。我們將異常訊息設定為一些預設文字。這裡我們應該確保我們使用的所有參數都被正確分配。這會導致錯誤。然後,我們建立另一個名為 custFunc() 的函數,並在此處定義自訂異常訊息。 我們使用 switch 語句為這 3 個值定義 3 個不同的自訂異常,在預設情況下,它不會拋出任何異常並建立所需的物件。 為了嘗試這一點,我們嘗試透過將值作為 CUST_EXCEPTION 傳遞來建立一個新物件。這裡我們將呼叫我們在開頭定義的 custFunc() 方法。因此,這將獲取定義的異常訊息並顯示相同的訊息。 範例#2 代碼: 輸出: 說明: 在此訊息中,我們也取得了拋出正確錯誤的行號。我們輸入密碼值,然後將其與 VALIDATE_PWD 進行比較。如果傳回 true,則不會拋出異常;如果結果為 false,則會拋出我們的自訂異常。 PHP 自訂異常的優點 以下是優點: 內建異常很好,但從開發人員的角度來看,自訂異常更重要,因為它們可以在任何他想要的地方定位和捕獲異常。 易於調試,因為開發人員可以在多個點定義自訂異常並處理相同的異常。 可以輕鬆修改現有的Exception類,並透過擴展它以更有效率的方式使用它。 它對於捕獲「未捕獲」的異常很有用。 結論 在本文中,我們看到了自訂定義和異常處理的概念。還有其他情況可以使用它,例如在 try-catch 區塊中,透過拋出多個異常、重新拋出某些異常、設定頂級異常處理程序等
以上是PHP 自訂異常的詳細內容。更多資訊請關注PHP中文網其他相關文章!