读书人

初学有关问题:高分悬赏错误有关问题

发布时间: 2011-11-23 23:51:20 作者: rapoo

初学问题:高分悬赏异常问题
有java简单实现:给客户建立一个帐户,当取钱大于余额时,就抛出异常,显示余额不足!

[解决办法]
try{
if( 取钱大于余额 )
new Exception( "余额不足! ");
}catch(Exception msg){
System.out.println(msg.getMessage());
}
[解决办法]
更标准的做法是把余额不足这个错误定义成一个MoneyNotEnoughException

public void fetchMoney(int money) throws MoneyNotEnoughException,Exception{
if ...{
throw new MoneyNotEnoughException( "余额不足! ");
}
}

外部调用fetchMoney()时用try取得错误
try{
fetchMoney(1000)
}
catch(MoneyNotEnoughException e1){
...println( "余额不足! ")
}
catch(Exception e){
e.printStackTrace();
}

[解决办法]
public class MoneyNotEnough extends Exception {

public MoneyNotEnough() {
super();
}

/**
* @param message
* @param cause
*/
public MoneyNotEnough(String message, Throwable cause) {
super(message, cause);
}

/**
* @param message
*/
public MoneyNotEnough(String message) {
super(message);
}

/**
* @param cause
*/
public MoneyNotEnough(Throwable cause) {
super(cause);
}

}

public class Account{

private long nowMoney ;

Account(){ nowMoney = 5000; }

public boolean hasEnoughMoney(long out) throws MoneyNotEnough{

if (out > this.nowMoney) throw new MoneyNotEnough( "余额不足 ");

nowMoney = nowMoney - out;
return true;

}
}


读书人网 >J2SE开发

热点推荐