2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

Java中用戶如何自定義異常?【案例演示】

更新時間:2021-11-11 來源:黑馬程序員 瀏覽量:

IT培訓班

Java中定義了大量的異常類,雖然這些異常類可以描述編程時出現的大部分異常情況,但是在程序開發中有時可能需要描述程序中特有的異常情況,例如在設計divide()方法時不允許被除數為負數。為了解決這樣的問題,Java允許用戶自定義異常,但自定義的異常類必須繼承自Exception或其子類。接下來通過一個案例來學習自定義異常的創建,如例4-35所示。

例4-35 DivideByMinusException.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-40    例4-36運行結果

例4-36中,divide()方法通過邏輯判斷對除法運算的除數是否為0進行了判斷,如果除數為0就使用throw關鍵字拋出自定義的DivideByMinusException異常對象,然后通過throws關鍵字拋出異常,并在最后通過try…catch語句捕獲異常。從圖4-40可以看出,程序執行后判斷出除數為0,拋出了指定的異常信息。






猜你喜歡:

Java編譯異常與運行異常分別是什么?

Java異常之throws關鍵字用法介紹

Java異常處理機制的原理和應用【java面試】

黑馬程序員java后端開發工程師培訓

分享到:
在線咨詢 我要報名
和我們在線交談!