我所做的所有谷歌搜索似乎都集中在“捕捉”错误上。如果满足某些条件,我希望能够提高自己的水平。我尝试使用 Error() 类及其子类,但 Eclipse 无法识别它们。
这就是我想要做的:
if(some_condition) {
foobar();
}
else {
// raise an error
}
愚蠢的问题,我知道,但我已经完成了我的谷歌搜索,我认为有人可以帮助我。
提前致谢!
感谢大家!如果您将来要阅读本文,请看这里的瘦身:
Java 中的错误指的是您不应尝试捕获的问题
异常是指您可能想要捕获的错误。
这是我的“固定”代码:
if(some_condition) {
foobar();
}
else {
throw new RuntimeError("Bad.");
}
我使用 RuntimeError()
因为,正如一个答案所指出的,我不必事先声明我正在抛出一个错误,而且由于我依赖于一个条件,所以这非常有用。
谢谢大家!
原文由 Eli Dinkelspiel 发布,翻译遵循 CC BY-SA 4.0 许可协议
干得好:
更习惯于抛出 Exception 的子类。特别是 RuntimeException 是未检查的(例如,方法不需要声明它们可能会抛出它)。 (好吧,错误也是如此,但它应该保留给不可恢复的东西)。
注意:您实际上不必在那一刻正确构建它们。你可以扔预制的。但是构建它们的一个好处是它们记录了它们所在的代码行以及构建时发生的完整调用堆栈,因此当你抛出它时构建一个新的调用堆栈确实会注入非常有用的诊断信息.