教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java培訓(xùn):面向?qū)ο髏ry的用法

更新時間:2022年10月20日13時46分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  在文件4-24中,由于發(fā)生了異常導(dǎo)致程序立即終止,因此程序無法繼續(xù)向下執(zhí)行。為了解決異常,Java提供了對異常進行處理的方式——異常捕獲。異常捕獲使用try...cathch語句實現(xiàn),try...cathch具體語法格式如下:

try{
    //程序代碼塊
}catch (ExceptionType (Exception類及其子類) e) {
    //對ExceptionType的處理
}

  上述語法格式中,在try代碼塊中編寫可能發(fā)生異常的Java語句,在catch代碼塊中編寫針對異常進行處理的代碼。當(dāng)try代碼塊中的程序發(fā)生了異常,系統(tǒng)會將異常的信息封裝成一個異常對象,并將這個對象傳遞給catch代碼塊進行處理。catch代碼塊需要一個參數(shù)指明它所能接收的異常類型,這個參數(shù)的類型必須是Exception類或其子類。

  下面使用try...catch語句對文件4-24中出現(xiàn)的異常進行捕獲,如文件4-25所示。

  文件4-25 Example25.java

public class Example25 {
    public static void main (String[] args) {
        // 下面的代碼定義了一個try...catch語句用于捕獲異常
        try {
            int result = divide (4, 0);            //調(diào)用divide()方法
            System.out.println (result);
        }catch (Exception e) {         //對異常進行處理
            System.out.println ("捕獲的異常信息為: " + e.getMessage ());
        }
        System.out.println ("程序繼續(xù)向下執(zhí)行...");
    }
    //下面的方法實現(xiàn)了兩個整數(shù)相除
    public static int divide (int x, int y) {
        int result = x / y;           //定義一個變量result記錄兩個數(shù)相除的結(jié)果
        return result;                //將結(jié)果返回
    }
}

  在文件4-25中,第4~9行代碼是對可能發(fā)生異常的代碼用try...catch語句進行了處理。在try代碼塊中發(fā)生除0異常外,程序會通過catch語句捕獲異常,第8行代碼在catch語句中通過調(diào)用Exception對象的getMessage()方法,返回異常信息“/by zero”。catch代碼塊對異常處理完畢,程序仍會向下執(zhí)行,而不會終止程序。

  需要注意的是,在try代碼塊中,發(fā)生異常語句后面的代碼是不會被執(zhí)行的,如文件4-25中第6行代碼的打印語句就沒有執(zhí)行。

  在程序中,有時候會希望有些語句無論程序是否發(fā)生異常都要執(zhí)行,這時就可以在try...catch語句后加一個finally代碼塊。

0 分享到:
和我們在線交談!