79

アサーションが失敗したときにアサートにメッセージを表示させると便利なようです。

現在AssertionErrorがスローされていますが、カスタム メッセージを指定できますか?

これを行うためのメカニズムの例を示してもらえますか (独自の例外タイプを作成してスローする以外に)。

4

4 に答える 4

164

あなたは確かにできる:

assert x > 0 : "x must be greater than zero, but x = " + x;

詳細については、アサーションを使用したプログラミングを参照してください。

于 2008-11-07T20:12:42.333 に答える
20
assert (condition) : "some message";

条件を括弧で囲むことをお勧めします

assert (y > x): "y is too small. y = " + y;

このようなコードに出くわしたと想像してみてください...

assert isTrue() ? true : false : "some message";

これは、JUnit で作成するアサートとは何の関係もないことを忘れないでください。

于 2009-01-29T17:02:24.747 に答える
12

それは絶対に行います:

assert importantVar != null : "The important var was null!";

これにより、スローされる例外に「The important var was null」が追加されます。

于 2008-11-07T20:14:02.957 に答える
7

使用する場合

assert Expression1 : Expression2 ;

Expression2 は、AssertionError の詳細メッセージとして使用されます。

于 2008-11-07T20:14:32.503 に答える