1. 程式人生 > 遊戲資訊 >激戰2丨節日收藏-金爪節日收藏(《超級冒險盒:官方小說攻略》)

激戰2丨節日收藏-金爪節日收藏(《超級冒險盒:官方小說攻略》)

在java中有兩種異常,一種是RuntimeException,這種異常是非檢查型別的 ,通常是我們的程式程式碼問題。另一種異常是才是我們要處理的異常,這種異常通常和環境有關,比如開啟一個不存在的檔案,這種異常可以丟擲,去查詢解決該問題的方法,而不是直接中止程式

notes:在繼承中,子類不能丟擲比超類更加普遍的異常,超類沒有丟擲異常,子類也不能丟擲異常。通常子類丟擲的異常是父類異常的某種情況。

一. 如何丟擲異常?

1.找到一個合適的異常類

2 建立這個異常的物件

3 丟擲物件

二 建立異常類

如果程式碼可能會遇到任何異常都無法描述的異常,則需要建立自己的異常類。

繼承已有的異常類即可,習慣做法是,自定義的這個類應該包含兩個構造器,無參構造器和一個字串引數的構造器,在toString方法中會直接輸出該字串

三 捕獲異常

如果遇到該程式碼不知道如何處理的異常通常丟擲到函式首部,交給呼叫者處理,如果在該方法中處理則使用try{}catch(Exception e){}語句環繞

notes:如果在覆蓋父類方法中出現了父類沒出現的普遍性異常,那麼必須用catch語句處理

四 再次丟擲異常和異常鏈

在需要異常型別轉換時可以使用,比如呼叫者只想知道是否發生了異常,而不關注細節,則可以建立一個更普遍的異常,丟擲。

也可以通過initCase(Exception obj)加入異常細節

五 try with resource

如果資源實現了AutoCloseable介面 可以使用try(Resource res =...){}自動關閉資源

在java9中可以try()括號中包含之前宣告的資源變數