2013-05-08 56 views
0

我以前的一篇考试试题需要我修改一个方法,使IllegalArgumentException发生。强制IllegalArgumentException

的方法简单地包括从银行账户余额

这里取钱的是,做到这一点的方法。

public void withdraw(double ammount) { this.balance -= ammount; }

我怎么能修改此方法,使这个例外发生的呢?我从来没有见过这个例外。

回答

1

的异常可以用throw抛出:

throw new IllegalArgumentException("Amount must be positive."); 

你应该写的方法自己的休息。

0

要抛出异常,请使用throw命令,然后传递Exception的实例(异常也是类)。

像这样:

throw e; 

e是个例外。 Java和C#的这种语法是相同的。

所以,如果你想抛出一个IllegalArgumentException,首先创建一个实例,然后把它扔掉。

public void withdraw(double amount) 
{ 
    if (this.balance < amount) 
    { 
     IllegalArgumentException iae = 
      new IllegalArgumentException("Invalid amount. You're broke."); 
     throw iae; 
    } 
    else this.balance -= amount; 
} 

下一步,请阅读try-catch-finally块。

+0

我不想抛出异常,我试图使IllegalArgumentException错误发生。如果你有一个ArrayOutOfBoundsException,控制台将以红色文本显示你有这个异常。 – Shaun 2013-05-08 14:17:51

+0

请编辑您的问题,以表明这一点。 – Renan 2013-05-08 14:22:56

+0

对不起。我在那里使用了“扔”的错误语境。 – Shaun 2013-05-08 14:27:23