Java Exception

forsti222

Mitglied
Muss gerade ein KontoSystem machen und habe eine Frage bezüglich der Exception.
Java:
public class Account {
	private int accountnr;
	private static int nextid = 10000001;
	private int accountvalue;
	private int[] lastoperation = new int[2];
	
	public Account() {
		accountnr = nextid++;
		accountvalue = 0;
	}
	public int getValue(){
		return accountvalue;
	}
	public int getAccountnr(){
		return accountnr;
	}
	public void addMoney(int money) {
		accountvalue+= money;
		lastoperation[0] = 0;
		lastoperation[1] = money;
	}
	String getMoney(int money)  {
		accountvalue-= money;
		lastoperation[0] = 1;
		lastoperation[1] = money;
		return "Auszahlung erfolgreich";
	}
	void undoLastOperation(){
		if(lastoperation[0] == 1){
			addMoney(lastoperation[1]);
		}
		if(lastoperation[0] == 0){
			getMoney(lastoperation[1]);
		}
	}
	public String toString() {
		return "Kontonummer: "+accountnr+". Aktueller Kontostand:"+accountvalue;
	}
}
UnterKlasse
Java:
public class TransferAccount extends Account {
	int max_credit;
	public TransferAccount(int credit) {
		super();
		max_credit = credit;
	}
	int checkCredit(int accountnr) {
		int value = super.getValue();
		if(value - max_credit >=0 ) {
			return 1;
		}
		return 0;
	}
	String getMoney(int money) {
		if(checkCredit(super.getAccountnr())==1){
			super.getMoney(money);
			return "Erfolgreich abgehoben";
		}
		else {
			return "Kreditrahmen erschöpft";
		}
	}

}
Idee für Exception Klasse
Java:
public class TransferAccountException extends Exception {

	private transferAccount transferaccount;

	public TransferAccountException(String message, Transferaccount transferaccount) {
		super(message);
		this.transfersccount = transferaccount;
	}

	public TransferAccount getTransferAccount() {
		return transferaccount;
	}
}

Soweit ist das ganze für mich noch nachvollziehbar nur wie kann ich nun eine Exception einbauen, die kommt wenn man max_credit überzieht?
Ich habs probiert einfah in der TransferAccount eine throw Exception bei getMoney() zu machen, aber da steht dann nur ein Override Error! Könnte mir da jemand helfen?

lg
 
Hi

könntest du auch zeigen, wie der Code nicht funktioniert?
Nur die btroffenen Stellen, musst nicht alles posten.
Und bitte die komplette Fehlermeldung(en).

Gruß
 
Java:
public void getMoney(int money) throws TransferAccountEception {
		if (max_credit > super.getValue()) {
			throw new TransferAccountException("Kreditrahmen erschöpft", this);
		}
		
	}

Wär meine Idee gewesen, aber da wird nur ausgegeben "Overides Account.getMoney()"

Lg
 
Das ist aus dem TransferAccount, oder?

Schreib mal beim getMoney aus Account auch "throws TransferAccountEception" dazu.
 
Zurück