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異常處理的分類問題如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!