1. 程式人生 > >摘自《java 2 實用教程》 java自定義異常類

摘自《java 2 實用教程》 java自定義異常類

class BankException extends Exception {
	String message;

	public BankException(int m, int n) {
		message = "入賬資金" + m + "是負數或者支出" + n + "是正數,不符合系統要求。";
	}

	public String warnMessage() {
		return message;
	}
}

class Bank {
	private int money;

	public void income(int in, int out) throws BankException {
		if (in <= 0 || out >= 0 || in + out <= 0) {
			throw new BankException(in, out);// 方法丟擲異常,導致方法結束
		}
		int netIcome = in + out;
		System.out.println("本次計算出的純收入是:" + netIcome + "元。");
		money = money + netIcome;
	}

	public int getMoney() {
		return money;
	};
}

public class Lmt02 {

	public static void main(String[] args) {
		Bank bank = new Bank();
		try {
			bank.income(200, -100);
			bank.income(300, -100);
			bank.income(400, -100);
			System.out.println("銀行目前有" + bank.getMoney() + "元。");
			bank.income(200, 100);
			bank.income(999999, -99);
		} catch (BankException e) {
			System.out.println("計算收益的過程中出現如下問題:");
			System.out.println(e.warnMessage());
		}
		System.out.println("銀行目前有" + bank.getMoney() + "元。");
	}

}