在我的Java代码中,我偶尔会遇到这样的情况,即我必须从库函数中捕获一个已检查的异常,而我的非常确定在我的用例中不会出现。
此外,在编码时,我有时会注意到我依赖于来自其他模块(我自己)的某些输入来拥有或不拥有特定功能。例如,我可能希望字符串处于某种格式等。在这些情况下,我经常会进行验证步骤,尽管我控制自己发送输入的代码。
目前,我正在开发一种非常复杂的产品,我希望它非常可靠。除此之外,我希望它从捕获的异常中收集信息并自动提交错误报告。 对于上述两种情况,我因此定义了一个(未经检查的)“ProbableBugException”,它告诉我在传递输入数据的代码中犯了错误。
这是a)愚蠢,b)偏执或c)良好做法?这将是主观的,我会提出三个维基答案,这样我们就可以在没有代表翘曲的情况下投票。
ETA : 感谢Svend指出Java有断言,我没有意识到这一点。断言几乎与我的问题有关,但我只是从C中知道它们并且从未在那里使用它们。
答案 0 :(得分:4)
我认为使用断言是你真正想要的(“可能是bug”)。
答案 1 :(得分:2)
这很愚蠢,因为:
答案 2 :(得分:1)
这是一种很好的做法,因为:
答案 3 :(得分:0)
我总是期待未经预料到的。
我经常使用这样的代码:( $ div永远不会是我的代码中的0)
if( $div != 0 ) {
$var = $var2 / $div;
} else {
/*
* It should never happen
*/
throw Exception( 'relevant message' );
}
我总是保护自己免受我和其他人的伤害