JAVA-拋出異常的三種形式

拋出異常有三種形式:系統自動拋出異常、Throw、Throws

一、系統自動拋出異常

如常見的空指針異常、數組越界異常、類型強制轉換異常

public static void main(String[] args) {
	int a = 1;
	int b = 0;
	System.out.println( a / b);
}
Exception in thread "main" java.lang.ArithmeticException: / by zero
	at base.test.main(test.java:32)

二、Throw

throw是語句主動拋出一個異常,一般是在代碼的內部,當程序出現某種邏輯錯誤時同程序主動拋出某種特定類型的異常

        if (1 == 1)
            throw new NullPointerException();

三、Throws

throws是定義在函數方法上,可能會拋出一個異常,並不一定拋出異常。允許定義多個異常(要清楚異常的層級關係)

public static void throwChecked(int a)throws Exception{

}

面試常被問到:throw和throws的區別:
1、Throw用於方法內部,Throws用於函數方法聲明上
2、Throw後跟異常對象,Throws後跟異常類型
3、Throw後只能跟一個異常對象,Throws後可以一次聲明多種異常類型
4、Throw一定拋出異常,Throws可能拋出異常

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章