-3

您如何编写在方法声明中具有“抛出 IllegalArgumentEception”的方法。就像这样:如果我只在 d>0 时返回 d 否则抛出 an IllegalArgumentException,我会怎么做?你使用try{}catch{}吗?

public double getPrice(double d) throws IllegalArgumentException {

}
4

2 回答 2

7

您可以在方法的开头简单地执行此操作:

public double getPrice(double d) throws IllegalArgumentException {
     if(d <= 0) {
         throw new IllegalArgumentException();
     }

     // rest of code
}

throws IllegalArgumentException方法的声明中也不需要。这只能在检查异常的情况下完成。但IllegalArgumentException属于未经检查的异常

有关我建议阅读其他问题的更多信息。

于 2018-06-01T09:47:32.137 回答
1

您应该检查条件,如果不满足抛出异常

示例代码:

public double getPrice(double d) throws IllegalArgumentException {
    if (d <= 0) {
        throw new IllegalArgumentException("Number is negative or 0");
    }

    //rest of your logic

}

您可以在此处了解有关 Java 异常的更多信息。

于 2018-06-01T09:47:56.627 回答