本教學操作環境:windows7系統、java10版,DELL G3電腦。
1、說明
(1)對於運行時異常來說, 可以不顯式的進行處理
(2)對於編譯時異常來說, 必須要顯式的進行處理
2、方式一:
try{ // 可能出現異常的程式碼}catch(Exption1 e1){ // 處理方式一}catch(Exption2 e2){ // 處理方式二}finally{ // 一定要執行的程式碼}
註:
(1)try 內宣告的變數, 類似局部變數, 除了try{} 語句, 就不能被調用
(2) catch 語句內部是對異常物件的處理: e.getMessage(); e.printStackTrace()
(3)可以由多個catch 語句, try 中拋出的異常類對象從上往下去匹配catch 中的異常類的類型, 一旦滿足就執行catch 中的代碼. 執行完, 就跳出其後的多條catch 語句
(4)如果異常處理了, 那麼其後的程式碼繼續執行
(5)若catch 中多個異常類型是"並列"關係, 那麼順序前後都可以. 若catch 中多個異常類型是"包含"關係, 須將子類放在父類的之前, 進行處理. 否則報錯
(6)finally 是可選的
(7) finally 中存放的是一定會被執行的程式碼不管try 中、catch 中是否仍有異常未被處理, 以及是否有return 語句
(8)try-catch 是可以互相嵌套的
3、方式二:
(1)在方法的聲明處, 明確的拋出該異常物件的類型
(2) 格式,如:
public static void method() throws Exception{}
(3)當在此方法內部出現異常的時候, 會拋出一個異常類別的物件, 拋給方法的呼叫者
(4)異常的物件可以逐層向上拋, 直到main中. 當然在向上拋出的過程中, 可以再透過try-catch-finally進行處理
以上就是java異常處理的分類解決,希望對大家有幫助。更多Java學習指路: java教程