我总是检查公共函数的参数并在出现问题时抛出异常。(对于私人助手,我使用断言)。
像这样:
if( a < 0 || a >= b )
throw new IllegalArgumentException("'a' must be greater or equal to 0 and
smaller than b ");
但是写这些错误信息总是让我很烦。该消息对我来说似乎是多余的,因为该消息只是对声明的否定
a < 0 || a >= b
.
也经常发生我用重构重命名变量(在 Eclipse 中),然后消息不反映更改。或者我更改了条件而忘记更改消息。
如果我能写出类似的东西,那就太好了:
assertArgument(a >= 0 && a < b);
这应该引发 IllegalArgumentException 并带有类似的消息
"violated argument assertion: a >= 0 && a < b."
在 C 中你可以编写一个宏(实际上在 C 中 assert 只是一个宏)。有没有一种简单的方法可以在java中做这样的事情?