java培訓教程分享:Java中使用者如何自定義異常?
我們在學習 java技術的時候應該有了解過,在java中是定義了很多的異常類的,雖然這些大量異常類可以幫助我們描述程式設計時出現的大部分異常情況,但是在程式開發中有時可能需要描述程式中特有的異常情況,例如在設計divide()方法時不允許被除數為負數。為了解決這樣的問題,Java允許使用者自定義異常,但自定義的異常類必須繼承自Exception或其子類。接下來透過一個案例來學習自定義異常的建立,如例4-35所示。
java培訓教程分享:Java中使用者如何自定義異常?
//下面的程式碼是自定義一個異常類繼承自 Except ion
public DivideByMinusException extends Exception
public DivideByMinusException (){
super () //呼叫Exception無參的構造方法
}
public DivideByMinusException (String message){
//呼叫 Exceptlon有參的構造方法
}
}
在實際開發中,如果沒有特殊的要求,自定義的異常類只需繼承Exception類,在構造方法中使用super()語句呼叫Exception的構造方法即可。
既然自定義了異常,那麼該如何使用呢?這時就需要用到throw關鍵字,在程式指定位置透過throw關鍵字丟擲自定義的異常物件,然後對丟擲的異常進行異常處理。
接下來重新對例4-33中的divide()方法進行改寫,在divide()方法中判斷被除數是否為負數,如果為負數,就是用throw關鍵字向呼叫者丟擲自定義的DivideByMinusException異常物件,如例4-36所示。
例4-36 Example36.java
public class Exanple36 (
//下面的方法實現了兩個整數相除
public static int divide(int x,int y) throws DivideByMinuaException{
if (y ==0){
//使用throw關鍵字宣告異常物件
throw new DivideByMinuaException("除數是0")
}
int result. =x / yL; //定義一個變數resulc記錄兩個散相除的結果
return result; //將結果返回
publlc static void main(String[] args) {
try {
int result =divide (4, 0);
System.out.println(result);
} catch (DivideByMinuaException e) {
Syatem.out.println(“捕獲的異常資訊為:" +e.getMesaage()):
}
}
}
執行結果如下圖所示:
例4-36中,divide()方法透過邏輯判斷對除法運算的除數是否為0進行了判斷,如果除數為0就使用throw關鍵字丟擲自定義的DivideByMinusException異常物件,然後透過throws關鍵字丟擲異常,並在最後透過try…catch語句捕獲異常。從圖4-40可以看出,程式執行後判斷出除數為0,丟擲了指定的異常資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996644/viewspace-2845492/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java自定義異常Java
- Java 異常(二) 自定義異常Java
- Java之自定義異常Java
- Java的自定義異常類Java
- Python培訓教程分享:Python異常機制Python
- Java培訓教程分享:變數與常量Java變數
- Java培訓教程:Java中的位移運算子!Java
- 使用者自定義異常
- 好程式設計師Java培訓分享Java處理異常的幾個小知識程式設計師Java
- Java培訓簡述如何處理沒有被捕獲的異常Java
- Java培訓分享void的用法和意義Java
- Java學習筆記之自定義異常Java筆記
- java培訓面試技巧分享Java面試
- java培訓分享:java培訓架構師學習線路圖Java架構
- Java自定義異常的建立及多層呼叫Java
- 用列舉來處理java自定義異常Java
- 好程式設計師Java培訓分享Java效能常見命令有哪些程式設計師Java
- Java培訓分享學Java需要哪些基礎?Java
- java中如何自定義註解Java
- 好程式設計師Java培訓分享如何快速入門Java程式設計師Java
- 自定義異常
- java培訓教程分享:Java編寫軟體程式碼自動提示功能Java
- 長沙Java培訓:JAVA練手專案分享Java
- 長沙Java培訓:Java開源專案分享Java
- 好程式設計師Java培訓分享Java中級面試題合集程式設計師Java面試題
- C#中自定義異常類C#
- java自定義異常例項1Java
- Java異常處理的兩種方式以及自定義異常的使用方法Java
- 好程式設計師Java培訓分享Java教程垃圾回收與演算法程式設計師Java演算法
- java培訓教程分享:Java中怎樣將資料物件序列化和反序列化?Java物件
- Java入門自定義異常&模擬借書系統Java
- 最新Java培訓-NIO實戰教程Java
- 好程式設計師Java培訓分享如何避開面試中的“坑”程式設計師Java面試
- 如何善用Java異常Java
- Java 中的異常Java
- java中的異常Java
- 自定義異常類
- 自定義異常三