自定義異常,throw,throws和帶你去旅行

        這幾天對自定義異常,幾個比較常用的API--->Date、DateFormat、Calendar、Math、System、包裝類、正則表達式這些內容進行了鞏固,最終還是覺得自定義異常真的是學問太多了,用到的地方太多太多了,下面介紹一個自定義異常,邊說邊講

請使用代碼描述:

每一張借記卡(DebitCard)都有賬號(accountNumber):和餘額(money); 餘額永遠不能爲負數

要求:當借記卡的餘額爲負數的時候需要拋出自定的異常

創建包:com.itheima.level3_03

定義異常類無效金額異常(UnValidMoneyException),繼承RuntimeExpetion

提供無參構造和有參構造

定義借記卡類(DebitCard)

屬性: 賬號(accountNumber):和餘額(money);

提供空參構造

提供有參數構造

有參構造需使用setXxx方法給對應的成員變量賦值

提供setter和getter方法

在setMoney(int money)中

如果money爲負數,拋出無效的金額異常UnValidMoneyException

最後給成員變量money賦值

定義Test19類,提供main方法,在main方法中

使用有參構造創建,創建DebitCard對象,金額傳入一個負數

運行測試,註釋代碼

使用空參構造創建DebitCard的對象 dc

使用setMoney方法傳入一個大於0的數,運行程序

使用setMoney方法傳入一個小於0的數,運行程序

操作步驟答案

/*

 1.創建包:com.itheima.level3_03

 2.定義異常類無效金額異常(UnValidMoneyException),繼承RuntimeExpetion

    提供無參構造和有參構造

 */

publicclass UnValidMoneyException extends RuntimeException {

    public UnValidMoneyException() {

       super();

    }

    public UnValidMoneyException(String message) {

       super(message);

    }

}

/*

 3.定義借記卡類(DebitCard)

    屬性: 賬號(accountNumber):和餘額(money);

    提供空參構造

    提供有參數構造

    有效參構造需使用setXxx方法給對應的成員變量賦值

    提供settergetter方法

    setMoney(int money)

    如果money爲負數,拋出無效的金額異常UnValidMoneyException

    最後給成員變量money賦值

 */

publicclass DebitCard {

//  賬號(accountNumber)

    private String accountNumber;

//    餘額(money);

    privateint money;

//  提供空參構造

    public DebitCard() {

       super();

    }

//  提供有參數構造

    public DebitCard(String accountNumber, intmoney) {

       super();

//  使用setXxx方法給對應的成員變量賦值

       setAccountNumber(accountNumber);

       setMoney(money);

    }

//  提供settergetter方法

    public String getAccountNumber() {

       return accountNumber;

    }

    publicvoid setAccountNumber(String accountNumber) {

       this.accountNumber = accountNumber;

    }

    publicint getMoney() {

       return money;

    }

//  setMoney(int money)

    publicvoid setMoney(intmoney) {

//  如果money爲負數,拋出無效的金額異常UnValidMoneyException

       if(money < 0){

           thrownew UnValidMoneyException("餘額無效:"+money);

       }

//  最後給成員變量money賦值

       this.money = money;

    }

}

/*

4.定義Test19,提供main方法,main方法中

    使用有參構造創建,創建DebitCard對象,金額傳入一個負數

    運行測試,註釋代碼

    使用空參構造創建DebitCard的對象 dc

    使用setMoney方法傳入一個大於0的數,運行程序

    使用setMoney方法傳入一個小於0的數,運行程序

 */

publicclass Test19 {

    publicstaticvoid main(String[] args) {

//     使用有參構造創建,創建DebitCard對象,金額傳入一個負數

//     DebitCard dc = newDebitCard("001", -100);

//     運行測試,註釋代碼

//     使用空參構造創建DebitCard的對象 dc

       DebitCard dc = new DebitCard();

//     使用setMoney方法傳入一個大於0的數,運行程序

       dc.setMoney(100);

//     使用setMoney方法傳入一個小於0的數,運行程序

       dc.setMoney(-1);

    }

}

 ============================================================

throws是用來聲明一個方法可能拋出的所有異常信息,通常不用顯示的捕獲異常,可由系統自動將所有捕獲的異常信息拋給上級方法.

throw則是指拋出的一個具體的異常類型.則需要用戶自己捕獲相關的異常,而後在對其進行相關包裝,然後在將包裝後的異常信息拋出.

異常不是錯誤,錯誤出現了必須停止運行進行改正,但是出現了異常通常在實際應用中,是一種必須的使用方式.

==============================================================

一首小清新的歌送給大家

帶你去旅行歌詞

帶你去旅行 - 校長
詞:朱賀
曲:朱賀

今天妝令人特別着迷
Oh 我說 baby
出門前換上新的心情
Oh 我的 lady
你喜歡有小情緒
像晴天的烏雲
頭髮長見識短的驚奇
表情豐富令人着迷
你的一切我都好奇像祕密
安全帶繫好帶你去旅行
穿過風和雨
我想要帶你去浪漫的土耳其
然後一起去東京和巴黎
其實我特別喜歡邁阿密
和有黑人的洛杉磯
其實親愛的你不必太過驚奇
一起去繁華的上海和北京
還有云南的大理保留着回憶
這樣纔有意義
今天妝令人特別着迷
Oh 我說 baby
出門前換上新的心情
Oh 我的 lady
你喜歡有小情緒
像晴天的烏雲
頭髮長見識短的驚奇
表情豐富令人着迷
你的一切我都好奇像祕密
安全帶繫好帶你去旅行
穿過風和雨
我想要帶你去浪漫的土耳其
然後一起去東京和巴黎
其實我特別喜歡邁阿密
和有黑人的洛杉磯
其實親愛的你不必太過驚奇
一起去繁華的上海和北京
還有云南的大理保留着回憶
這樣纔有意義
我想要帶你去浪漫的土耳其
然後一起去東京和巴黎
其實我特別喜歡邁阿密
和有黑人的洛杉磯
其實親愛的你不必太過驚奇
一起去繁華的上海和北京
還有云南的大理保留着回憶
這樣纔有意義

=====================================================================

new出來的不一定是我們想要的對象,哈哈



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