異常-throw的概述以及和throws的區別

ZHOU_VIP發表於2018-09-02
package cn.itcast_06;

/*
 * throw:如果出現了異常情況,我們可以把該異常丟擲,這個時候的丟擲的應該是異常的物件。
 * 
 * throws和throw的區別(面試題)
    throws
        用在方法宣告後面,跟的是異常類名
        可以跟多個異常類名,用逗號隔開
        表示丟擲異常,由該方法的呼叫者來處理
        throws表示出現異常的一種可能性,並不一定會發生這些異常
    throw
        用在方法體內,跟的是異常物件名
        只能丟擲一個異常物件名
        表示丟擲異常,由方法體內的語句處理
        throw則是丟擲了異常,執行throw則一定丟擲了某種異常
 */
public class ExceptionDemo {
    public static void main(String[] args) {
        // method();
        
        try {
            method2();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void method() {
        int a = 10;
        int b = 0;
        if (b == 0) {
            throw new ArithmeticException();
        } else {
            System.out.println(a / b);
        }
    }

    public static void method2() throws Exception {
        int a = 10;
        int b = 0;
        if (b == 0) {
            throw new Exception();
        } else {
            System.out.println(a / b);
        }
    }
}

 

相關文章