-2

次のコードを実行すると例外が発生しますが、文字列 [0] は 2 ではなく「1」であるため、これは問題ありません

したがって、この例外を作成し、コードから抜け出すことをアサートします ….

しかし、私がやりたいこと:

assert string[0] is not 1 の場合にNOT equalを出力し、例外を無視することです

そうしないと

string[0] が 1 の場合

次に、コードは等しいと出力されます

  string = "1 2 3"

  assert string[0]          == '2'

  println "continue"

.

Exception thrown

Assertion failed: 

assert string[0]          == '2'
              |     |            |
              1 2 3 1            false
4

1 に答える 1

2

失敗したアサーションで例外を食べたい場合は、アサーションとして持つという点が逸脱しています。探しているものは、質問のヘッダーに記載されている if/else ブロックによって簡単に実現できます。

冗長にするために、以下のいずれかの方法でアサーションにメッセージを追加できますが、失敗した場合でも例外が発生します。

assert string[0] == '2' : 'Not Equal'

// or 
assert string[0] == '2', 'Not Equal'

としてメッセージを与える必要があります

java.lang.AssertionError: Not Equal. Expression: (string[0] == 2). 
Values: string = 1 2 3
于 2014-05-05T17:47:29.597 に答える