今天复习了一下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);
}
}