Java中自定义异常

来源:互联网 发布:博客源码哪个好 编辑:程序博客网 时间:2024/05/29 15:57

        今天复习了一下Java中的异常处理,折腾了一下。都知道,在Java应用程序中,对异常的处理有两种方式:处理异常和声明异常。处理异常使用try-catch-finally捕获异常,声明异常则需要将其添加到方法名结束的位置(throws)。异常分为三种:可检测异常(经编译器验证)、非检测异常(一般是没有遵循处理或声明规则,如数组越界)、自定义异常。写了一个经典的银行存取钱的自定义异常的例子,不是十分严谨,将就。


代码如下:

//自定义异常
public class Test9 {

public static void main(String[] args) {
Bank bank = new Bank(1000);
bank.save(1000);
try {
bank.withdrawel(6000);
System.out.println("取钱成功");
} catch (BankExcepton e) {
System.out.println("发生异常:"+e.toString());
System.out.println(e.message());
}
bank.showBalance();

}

}


class BankExcepton extends Exception{
Bank bank;
int amount; //取款数

public BankExcepton(Bank bank, int amount) {
super();
this.bank = bank;
this.amount = amount;
}


public String message() {
String str = "取钱数为:"+amount;
return str;
}
}


class Bank{
int balance;//余额


public Bank(int balance) {
super();
this.balance = balance;

    void save(int addmoney){  //存钱操作
    if (addmoney>0) {
balance += addmoney;
}
    }
    void withdrawel(int amount) throws BankExcepton{ //取钱操作
    if (amount>balance) {
throw new BankExcepton(this,amount);
}else {
balance-=amount;
}
    }
    void showBalance(){    //显示余额
    System.out.println("余额为"+balance);
    }
}

0 0