困擾開發人員的八大程式碼異常問題
阿新 • • 發佈:2022-04-29
程式碼異常對於每個開發人員時時刻刻要面對的問題,興奮的寫完一段程式碼,信心滿滿的執行一下,結果一個異常給你當頭 一棒,你還得意嗎?異常處理的好不好,考驗著每個開發人員,我是Java開發員,以下將拿Java來舉例說明。
網路配圖 1、程式碼異常型別(檢查與不檢查) 簡單的說,已檢查的異常必須在一個方法宣告處理。沒有經過檢查的異常將不能處理,不能有效的解決問題,如常見的除 以零,空指標異常等。已檢查的異常很重要,這能使其他開發人員知道如何處理異常。 例如,IOException是一種常用的檢查異常,RuntimeException是一個未經檢查的異常。 2、異常處理原則 我們在寫程式碼時,如果能很好的處理異常,就要積極處理,實在不行再做丟擲處理(這是下下策),不能圖一時方便,給以後程式碼執行留下隱患。
網路配圖 3、開發中常用的Java執行時異常 這裡例出其中的一些: IllegalArgumentException ArrayIndexOutOfBoundsException RuntimeException 這些可以使用if語句處理,當條件不滿足時,可以像如下這麼寫: if(obj ==null){thrownewIllegalArgumentException("物件不能為空"); 4、一個catch子句可以捕獲多個異常嗎? 當然可以,因為所有異常類都可以追溯到同一個超級類。 5、開發時可以在java建構函式中丟擲異常嗎? 也是可以的,Java看建構函式是一種特殊的方法,本質還是方法。 6、我們還可以使用finally塊來處理。
網路配圖 7、異常處理應該怎麼寫,程式碼說明:
public static void main(String[] args) { File file1 = newFile("path1"); File file2 = newFile("path2"); try { FileInputStream fis = newFileInputStream(file1); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { methodThrowException(); } } 8、最後這個問題留給大家回答,為什麼Double.parseDouble(0)和Integer.parseInt(null)會丟擲不同的異常呢?