似乎在断言失败时断言显示消息可能很有用。
目前有AssertionError
被抛出,您可以为它指定自定义消息吗?
你能否展示一个这样做的机制(除了创建自己的异常类型并抛出它)?
答案 0 :(得分:125)
你当然可以:
assert x > 0 : "x must be greater than zero, but x = " + x;
有关详细信息,请参阅Programming with Assertions。
答案 1 :(得分:16)
assert (condition) : "some message";
我建议将条件括在括号中
assert (y > x): "y is too small. y = " + y;
想象一下,如果你遇到这样的代码......
assert isTrue() ? true : false : "some message";
不要忘记这与您在JUnit中编写的断言无关。
答案 2 :(得分:11)
绝对可以:
assert importantVar != null : "The important var was null!";
这会将“重要的var为null”添加到抛出的异常中。
答案 3 :(得分:6)
如果您使用
assert Expression1 : Expression2 ;
Expression2用作AssertionError的详细消息。