2014年4月9日 星期三

例外 Exception:自定例外類別

class BankException extends Exception {
 
 public String getMessage() // 覆寫 Throwable 的 toString()
 {
  return "帳號餘額不可以是負數";
 }
 
 public void showMessage() { // 自定方法
  System.out.println("設定帳號錯誤,例外發生");
 }
}

class Bank {
 String account;
 int balance;
 
 void setAccount(String account, int money) throws BankException {
  if (money < 0)
   throw new BankException();
  else {
   this.account = account;
   this.balance = money;
  }
 }
 
 void showAccount() {
  System.out.println("Account: " + account);
  System.out.println("Balance: " + balance);
 }
}

public class ExceptionSelfDefined {

 public static void main(String[] args) {
  try {
   Bank Account1 = new Bank();
   Account1.setAccount("A0001", 1000);
   Account1.showAccount();
   
   Bank Account2 = new Bank();
   Account2.setAccount("A0002", -1000);
   Account2.showAccount();
   
   
  }
  catch (BankException e){
   System.out.println(e.getMessage());
   e.showMessage();
  }
 }

}
執行結果

沒有留言:

張貼留言