第一、JAVA語言文法之 七、異常——Exception

來源:互聯網
上載者:User
七、異常——Exception

異常是JAVA中一種特殊的類,用於處理常式出現的各種問題。寫程式時,把遇到難以處理的情況定義為異常類,遇到對應的情況時就建立相應的異常對象,通過關鍵字throw拋出,使用該程式的人,根據一定的方法來獲得該異常對象,從而知道是個什麼樣的情況,根據需要作處理。

/**//*
**異常的建立和使用
*/
class MyDateException extends Exception...{//定義異常的子類
    private String reason;
    public MyDateException(String r)...{
        reason = r;
    }
    public String getReason()...{
        return (reason);
    }
}
class MyDate...{
    int year, month, day;
    void setDay(int y, int m, int d)...{
        if(d > 31)...{
            throw new MyDateException("day too big!");//拋出異常
        }
    }
}
class Tt...{
    public static void main(String ejing[])...{
        MyDate t = new MyDate();
        try...{//可能異常的代碼
            t.setDay(2007, 1, 16);
        }
        catch (MyDateException ee)...{//捕獲異常
            System.out.println(ee.getReason);//對該異常的具體處理
        }
    }
}7.1、多種異常的處理——多個catch的匹配

try...{
    可能異常的代碼
}
catch (異常類型1 變數)...{//依次匹配,一旦匹配成功,後面的將不再繼續匹配
    調用者對異常的處理//注意要把子類放在前面,父類放在後面
}
catch (異常類型2 變數)...{
    調用者對異常的處理
}
catch (異常類型3 變數)...{
    調用者對異常的處理
}7.2、定義總是執行的代碼

try...{
    可能異常的代碼
}
catch (異常類型1 變數)...{
    調用者對異常的處理}
catch (異常類型2 變數)...{
    調用者對異常的處理
}
catch (異常類型3 變數)...{
    調用者對異常的處理
}
finally...{ //前面的catch可以是多個,也可以不要
    總是執行的代碼
}7.3、方法相互調用時異常的處理

異常將根據調用關係,一層層向外拋出,直到某個方法將其捕獲,否則程式將非正常退出,同時顯示異常類型

7.4、強制處理

為解決方案在被調用時不進行異常處理,在定義方法時加入throws關鍵字來聲明拋出異常(異常可多個)來實現強制處理

void setDay(int y, int m, int d) throws MyDateException...{
    //....
}7.5、覆蓋與異常

子類中覆蓋的方法拋出的異常不能比父類被覆蓋的方法拋出的異常更多(子類方法不拋出異常,或者拋出的異常是父類方法異常的子類,或者和父類方法異常一樣),否則編譯出錯

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.