2013-07-27 4 views
1

Утверждай заявление содержит две части:механизм Assertion в Java

assert firstPart : secondPart; 

Я знаю firstPart должно быть логическое выражение или логической переменной. Но у меня есть путаница с secondPart. Что это может быть? Это может быть просто сообщение об ошибке как строка? Или это может быть метод? Он должен возвращать только String или что-нибудь еще?

Просьба разъяснить мне требования, ограничения и нюансы, относящиеся к заявлению assert secondPart.

+0

[This] (http://stackoverflow.com/questions/2758224/assertion-in-java) должен помочь. –

ответ

1

Слегка перефразируя из технической записки JavaSE Programming with Assertions, ваш «secondPart» (называемый Выражения2) «любое выражение, которое имеет значение. (Это не может быть вызовом метода, который объявлен недействительным.)»

«Система передает значение выражения Expression2 в соответствующий конструктор AssertionError, который использует строковое представление значения как подробное сообщение об ошибке».

Таким образом, «secondPart» может быть любым выражением, которое имеет значение; это значение преобразуется в свою строковую форму для использования в AssertionError, заданном assert.

1

Вторая часть представляет собой подробное сообщение утверждения.

См jls, 14,10

AssertStatement: 

assert Expression1; 
assert Expression1:Expression2; 

О Выражения2 он говорит:

Если оценка завершается нормально, экземпляр AssertionError которого "деталь сообщение" является результирующее значение Создано выражение2 .

Смежные вопросы