java - 在 set 方法中抛出的最佳异常

标签 java exception

如果我有一个要修改某些值的 set 方法, 如果用户输入了错误的值,哪个是指示失败的最佳抛出异常?

public void setSomething(int d) throws ....
{
    if (d < 10 && d >= 0)
    {
        // ok do something
    }
    else throw new ... // throw some exception
}

最佳答案

我会选择 IllegalArgumentException .

Thrown to indicate that a method has been passed an illegal or inappropriate argument.

编辑

另一个说明:

代替

if (conditionIsTrue) {
  doThis();
  doThat();
} else { 
  throw new IllegalArgumentException();
}

写:

if (conditionNotTrue) {
    throw new IllegalArgumentException();
}

doThis();
doThat();

(虽然这个建议可能会引起争议 ;-))。

关于java - 在 set 方法中抛出的最佳异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7334192/

相关文章:

java - 这段代码<>在java中是什么意思

c# - Datagrid列排序生成错误

Python 无法捕获重写的 NameError

java - 异常与流量控制

java - 实现两个方法签名相同但返回类型不同的接口(interface)

java - 在 MacOS 上,我可以在 Java 应用程序的 Info.plist 文件中添加默认设置吗

java - Spring RestTemplate StatuscodeException将自定义消息传递给异常处理

c++ - catch block 中的函数抛出异常

java - 递归方法查找矩阵中的路径数

java - Grails 验证现有输入时出错