Ism*_*ush 15 java exception-handling throws
我正在构建一个有很多计算的科学软件,当然参数可能有不正确的长度等等......所以我使用了IllegalArgumentException类,因为它似乎是问题的正确名称,但是我应该把它throws IllegalArgumentException放在函数定义中吗?
我问这个是因为在我写完之后,Eclipse编辑器没有让我用try和catch来包围这个函数.我认为这是如何实施尝试和捕获.我已经阅读了Java.com上的异常处理教程,但我不确定我是否理解了关于我的问题的部分.
ILM*_*tan 19
RuntimeExceptions like IllegalArgumentException用于表示编程错误.程序本身应该很少能够处理它.有人需要手动修复代码.
RuntimeException应该在函数契约(即javadoc)中以某种方式记录潜在的s,要么是显式的@throws,要么是在描述输入时.如果你没有函数的javadoc,你可能想要添加throws子句只是为了记录使用该函数的潜在缺陷,但通常不鼓励为运行时异常添加throws子句.
如果给出错误的长度实际上不是编程错误,但是异常情况,我会创建一个新的已检查异常(例如BadLengthError).如果不是特殊情况,请不要使用异常进行流量控制.