Java中檢查的異常與未檢查的異常

【前言】中國達人秀中有個小孩子唱的memory,好聽~

 

【link】http://lukuijun.javaeye.com/blog/340500  (這個blog中,有很多對基本概念的講解,有空再去看看)

 

問題1:上面的程序能否編譯通過?並說明理由。
解答:能編譯通過。分析:按照一般常理,定義doSomething方法是定義了ArithmeticException異常,在main方法裏裏面調用了該方法。那麼應當繼續拋出或者捕獲一下。但是ArithmeticException異常是繼承RuntimeException運行時異常。java裏面異常分爲兩大類:checked exception(檢查異常)和unchecked exception(未檢
查異常),對於未檢查異常也叫RuntimeException(運行時異常),對於運行時異常,java編譯器不要求你一定要把它捕獲或者一定要繼續拋出,但是對checked exception(檢查異常)要求你必須要在方法裏面或者捕獲或者繼續拋出.
    
問題2:上面的程序將ArithmeticException改爲IOException能否編譯通過?並說明理由。
解答:不能編譯通過。分析:IOException extends Exception 是屬於checked exception ,必須進行處理,或者必須捕獲或者必須拋出

總結:java中異常分爲兩類:checked exception(檢查異常)和unchecked exception(未檢查異常):

對於未檢查異常也叫RuntimeException(運行時異常).
        對未檢查的異常(unchecked exception )的幾種處理方式:
        1、捕獲
        2、繼續拋出
        3、不處理 

對檢查的異常(checked exception,除了RuntimeException,其他的異常都是checked exception )的幾種處理方式:
        1、繼續拋出,消極的方法,一直可以拋到java虛擬機來處理
        2、用try...catch捕獲
        注意,對於檢查的異常必須處理,或者必須捕獲或者必須拋出 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章