Ответ 1
Нет, они синонимы. Из документов:
Документация Исключения с тегом
@throws
ПРИМЕЧАНИЕ. Теги@throws
и@exception
являются синонимами.
Возьмем следующую реализацию массива символов на основе массива, например:
public char peek() throws Underflow {
if (!isEmpty()) {
return stack[pos];
} else {
throw new Underflow("Peeking at an empty stack.");
}
}
Назад, когда я использую только текстовый редактор, я всегда использую тег @exception, но теперь моя IDE (Netbeans) использовала @throws при создании javadoc.
Итак, мой вопрос в том, в чем разница между ними и когда следует выбирать другую (используя приведенный выше код)?
Нет, они синонимы. Из документов:
Документация Исключения с тегом
@throws
ПРИМЕЧАНИЕ. Теги@throws
и@exception
являются синонимами.
@throws
был добавлен, потому что это ключевое слово (предложение "throws" в объявлении метода),
и, как глагол, более естественно читать. Это читается как предложение:
@throws NullPointerException
хотя это кажется более избыточным:
@exception NullPointerException
В противном случае оба являются синонимами
@exception
не является 100% правильным, если вы выбрали код Throwable
. @throws
точнее. (Я понимаю, что для использования throw new Throwable()
нет хорошего варианта использования, но теоретически это разрешено.)