在定义银行类时,若取钱数大于余额则作为异常处理(InsufficientFundsException).思路:产生异常的条件是余额少于取额, 因此是否抛出异常要判断条件
取钱是withdrawal([wið\'drɔ:əl, wiθ-]n.撤退,收回;提款;取消;退股 )方法中定义的动作,因此在该方法中产生异常.
处理异常安排在调用withdrawal的时候,因此withdrawal方法要声明异常,由上级方法调用 要定义好自己的异常类cla Bank
{double balance;
public void deposite(double dAmount)
{if(dAmount>0.0) {balance+=dAmount;}}
public void withdrawal(double dAmount)
throws InsufficientFundsException{if (balance
throw new InsufficientFundsException(this,dAmount);}
balance=balance-dAmount;
}
public void show_balance()
{ System.out.println(\"The balance is \"+(int)balance);}
}
public cla ExceptionDemo
{ public static void main(String args[])
{ try
{ Bank ba=new Bank(50);
ba.withdrawal(100);
System.out.println(“Withdrawal succeful!”);
}catch(Exception e)
{System.out.println(e.toString());}
}public cla InsufficientFundsException extends Exception{private Bankexcepbank;
private double excepAmount;
InsufficientFundsException(Bank ba, doubledAmount){ excepbank=ba;
excepAmount=dAmount;
}
public StringexcepMesagge()
{String str=“The balance”+ excepbank.showBalance()+“The withdrawal was”+excepAmount;return str; }