今天開始學java(十六)異常處理

java異常處理的五個關鍵字:try、catch、finally、throw、throws,在繼承關係中父類異常什麼樣,子類異常什麼樣

1、throw

作用:可以使用throw關鍵字在指定的方法中拋出指定的異常
格式:
throw new xxxException("異常產生的原因");
注意:
1、throw關鍵字必須寫在方法的內部
2、throw關鍵字後邊new的對象必須是Exception或者是exception的子類對象
3、throw關鍵字拋出指定的異常對象,我們必須處理這個異常對象
比如throw關鍵字後邊創建的是RuntimeException或者是RuntimeException的子類對象,我們可以不處理,默認交給jvm處理(打印異常對象,中斷程序)
如果創建的是編譯異常,我們就必須處理這個異常,要麼throws,要麼try…catch

2、throws

當方法內部拋出異常對象的時候,那麼我們就必須處理這個異常對象
可以使用throws關鍵字處理異常對象,會把異常對象聲明拋出給方法的調用者處理,最終交給jvm處理
格式:在方法聲明時使用

修飾符  返回值類型  方法名(參數列表) throws {
throw new XXXException(“產生原因”)
}

注意:throws關鍵字必須寫在方法聲明處,後邊聲明的異常必須是Exception或者是Exception的子類
方法內部如果拋出了多個異常對象,那麼throws後邊必須也聲明多個異常,如果拋出的多個異常對象有子父類關係,那麼直接聲明父類異常即可
調用了一個聲明拋出異常的方法罵我們就必須處理聲明的異常

3、try…catch

格式:

	try{
	可能會異常的代碼
	}catch(定義一個異常變量,用來接收try中拋出的異常對象){
	異常處的處理邏輯,產生異常對象之後,怎麼處理異常對象
	}

注意事項:
1、try中可能會拋出多個異常對象,那麼就可以使用多個catch來處理這些異常對象
2、如果try中產生了異常,那麼就會執行catch中的異常處理邏輯,執行完畢catch中的邏輯後繼續執行try…catch之後的代碼
3、如果try中沒有產生異常,則不會執行catch中的處理邏輯,執行完try中的菜嗎,繼續執行try…catch之後的代碼

4、finally

finally代碼塊是和try…catch連用的,無論是否出現異常,finally都會執行,無法單獨使用,一般用於資源釋放
格式:

try{
	可能會異常的代碼
}catch{
	處理異常的邏輯
}finally{
	無論是否出現異常都會執行的代碼塊
}

注意:如果finally中有return語句,永遠返回finally中的結果,所以要避免此類事件發生不在finally中寫return語句。

發佈了77 篇原創文章 · 獲贊 8 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章