更新時間:2022-09-02 12:12:53 來源:動力節點 瀏覽1364次
在 Java 中,我們可以創建自己的異常,它們是 Exception 類的派生類。創建我們自己的異常稱為自定義異常或用戶定義的異常。基本上,Java自定義異常用于根據用戶需要自定義異常。
考慮示例 1,其中 InvalidAgeException 類擴展了 Exception 類。
使用自定義異常,我們可以擁有自己的異常和消息。在這里,我們向超類的構造函數傳遞了一個字符串,即可以在我們創建的對象上使用 getMessage() 方法獲得的異常類。
在本節中,我們將學習如何在 Java 程序中實現和使用自定義異常。
Java 異常幾乎涵蓋了編程中可能出現的所有一般類型的異常。但是,我們有時需要創建自定義異常。
以下是使用自定義異常的幾個原因:
捕獲現有 Java 異常的子集并提供特定處理。
業務邏輯異常:這些是與業務邏輯和工作流相關的異常。對于應用程序用戶或開發人員了解確切的問題很有用。
為了創建自定義異常,我們需要擴展屬于 java.lang 包的 Exception 類。
考慮以下示例,其中我們創建了一個名為 WrongFileNameException 的自定義異常:
公共類 WrongFileNameException 擴展 異常 {
公共 錯誤文件名異常(字符串錯誤消息){
超級(錯誤消息);
}
}
示例 1:
讓我們看一個 Java 自定義異常的簡單示例。在以下代碼中,InvalidAgeException 的構造函數將字符串作為參數。使用 super() 方法將此字符串傳遞給父類 Exception 的構造函數。此外,可以不使用參數調用 Exception 類的構造函數,并且調用 super() 方法不是強制性的。
TestCustomException1.java
// 表示自定義異常的類
類 InvalidAgeException 擴展 異常
{
公共 InvalidAgeException(字符串 str)
{
// 調用父異常的構造函數
超級(str);
}
}
// 使用自定義異常 InvalidAgeException 的類
公共類 TestCustomException1
{
// 檢查年齡的方法
靜態無效 驗證(整數 年齡) 拋出 InvalidAgeException{
如果(年齡 < 18 ){
// 拋出一個用戶定義的異常對象
throw new InvalidAgeException( "年齡無效投票" );
}
否則 {
System.out.println( "歡迎投票" );
}
}
// 主要方法
公共靜態無效 主(字符串參數 [])
{
嘗試
{
// 調用方法
驗證(13 );
}
捕捉 (InvalidAgeException ex)
{
System.out.println( "捕獲異常" );
// 打印來自 InvalidAgeException 對象的消息
System.out.println( "發生異常:" + ex);
}
System.out.println( "剩下的代碼..." );
}
}
輸出:
示例 2:
TestCustomException2.java
// 表示自定義異常的類
MyCustomException 類擴展 異常
{
}
// 使用自定義異常 MyCustomException 的類
公共類 TestCustomException2
{
// 主要方法
公共靜態無效 主(字符串參數 [])
{
嘗試
{
// 拋出一個用戶定義的異常對象
拋出新的 MyCustomException();
}
捕捉 (MyCustomException ex)
{
System.out.println( "捕獲異常" );
System.out.println(ex.getMessage());
}
System.out.println( "剩下的代碼..." );
}
}
輸出:
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習