自定义异常,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出来的不一定是我们想要的对象,哈哈



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值