Java处理异常---声明抛出异常

可以通过自定义异常类的子类实现自定义异常类,使得异常更加灵活。

throws关键字,跟在方法后面,声明要抛出的异常类型。

调用声明了throws异常的方法,必须进行异常处理(可以是调用所在的方法再throws),否则不能通过编译。

自定义异常类BankException.java

public class BankException extends Exception {
	String message;
	public BankException(int m,int n) {//构造方法,给message赋值
		super();
		message="in:"+m+"out:"+n;
	}
	public String wareMess() {//BankException.wareMess()返回错误信息
		return message;
	}	
}

抛BankException异常的类Bank.java

public class Bank {
    private int money=0;
    public void income(int m,int n) throws BankException{
        if(m<0||n>0||m+n<0) {
            throw new BankException(m,n);//使用throw抛出异常类的对象
        }
        int netIncome=m+n;
        System.out.println("income:"+m+" out"+n+" netIncome:"+netIncome);
        money+=netIncome;
    }
    public int getMoney() {
        return money;
    }    
}

测试类TestCustomException.java

public class TestCustomException {

	public static void main(String[] args) {
		Bank bank=new Bank();
		try {
			bank.income(200, -100);
			bank.income(300, -200);
			bank.income(200, 100);//抛出异常,此处若不处理则不能通过编译,
			bank.income(400, -300);//不会被执行,上一句抛出了异常
		} catch (BankException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
			System.out.println(e.wareMess());
		}
                System.out.println(bank.getMoney());
         }
}






  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值