Java 使用者定義異常是建立的自訂異常,並使用關鍵字「throw」拋出該異常。這是透過擴展“Exception”類別來完成的。異常是程式執行過程中出現的問題。在物件導向程式語言中,Java提供了強大的機制來處理此類異常。 Java允許創建自己的異常類,它提供自己的異常類實作。此類異常稱為使用者定義的異常或自訂異常。讓我們更深入地研究一下 Java 中如何建立使用者定義的異常、它的語法(如果有的話)以及它是如何透過解決一些範例來實現的。
廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
文法:
對於 Java 使用者定義的異常,我們沒有任何特定的語法;我們將看到如何建立使用者定義的異常。
下面的程式碼將有助於建立使用者定義的異常類,
class SampleException{ public static void main(String args[]){ try{ throw new UserException(<value>); // used to create new exception and throw } catch(Exception e){ System.out.println(e); } } } class UserException extends Exception{ // code for exception class }
這裡,在建立異常類別時,需要從java.lang.Exception類別擴展。 lang.Exception.
異常是導致程式在執行時執行過程中突然終止的事件。
讓我們討論一下 Java 使用者定義異常的範例。
class SampleException{ public static void main(String args[]){ try{ throw new UserException(400); } catch(UserException e){ System.out.println(e) ; } } } class UserException extends Exception{ int num1; UserException(int num2) { num1=num2; } public String toString(){ return ("Status code = "+num1) ; } }
輸出:
關鍵字「throw」用於建立一個新的異常並將其拋出到 catch 區塊。
class EmployeeException extends Exception { public EmployeeException(String s) { super(s); } } class SampleEmp { void empIDCheck(int EmpID) throws EmployeeException{ if(EmpID<=0 || EmpID>999){ throw new EmployeeException("Invalid Employee ID"); } } public static void main(String args[]) { SampleEmp emp = new SampleEmp(); try { emp.empIDCheck(0); } catch (EmployeeException e) { System.out.println("Exception caught"); System.out.println(e.getMessage()); } } }
輸出:
如果我們在這裡不使用 throw 類,則會給出編譯錯誤「方法中未處理的異常」。
class SampleException extends Exception { private int e; SampleException(int num1) { e = num1; } public String toString() { return "(" + e +") is less than Ten"; } } class Demo1 { static void sum(int num,int num1) throws SampleException { if(num1<10) { throw new SampleException(num1); } else { System.out.println(num+num1); } } public static void main(String[] args) { try { sum(-5, 4); } catch(SampleException e1) { System.out.println(e1); } } }
輸出:
class IDNotValid extends Exception { public IDNotValid(String s) { super(s); } } class Demo { static void find(int array[], int id) throws IDNotValid { boolean stdFlag = false; for (int i = 0; i < array.length; i++) { if(id == array[i]) stdFlag = true; } if(!stdFlag) { throw new IDNotValid("ID is not Valid!"); } else { System.out.println("ID is Valid!"); } } public static void main(String[] args) { try { find(new int[]{101, 102, 103, 104, 105, 106, }, 108); } catch(IDNotValid e) { System.out.println(e); } } }
輸出:
這裡我們產生自己的異常實作。
使用這些使用者定義的異常有很多優點;它允許使用者拋出使用者想要的異常。用戶還可以重複使用任何現有的應用程式;任何捕獲異常的程式碼都會處理實際異常的可能性,該異常不是由程式碼引發的,而是由其他第三方程式碼引發的。
使用者可以將錯誤處理代碼與常規代碼分開,對錯誤類型進行分組和區分。
創建異常類別也有一些規則。
至此,我們的主題「Java使用者異常類別」就結束了。幾乎所有 Java 中常見的異常都在 Java 程式設計中發生。我們已經看到了使用者定義異常類別的創建,也看到了一些使用者定義異常的範例。使用者不需要在類別中實作任何東西;不需要任何方法,也可以重寫 toString() 函數來顯示自訂訊息。
以上是Java 使用者定義的異常的詳細內容。更多資訊請關注PHP中文網其他相關文章!