0

我过去的一个试卷问题要求我以发生 IllegalArgumentException 的方式修改方法。

该方法仅涉及从银行账户余额中提取资金

这是执行此操作的方法。

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

如何修改此方法以使此异常发生?我以前从未见过这个异常。

4

2 回答 2

2

可以通过以下方式引发异常throw

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

您应该自己编写方法的其余部分。

于 2013-05-08T14:11:01.360 回答
0

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

像这样:

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 块。

于 2013-05-08T14:11:32.597 回答