Соглашения о присвоении имен исключения Java

В Java, там семантическое различие между использованием "Недопустимого" (как в IllegalArgumentException) по сравнению с "Недопустимым" (как в javax.activity.InvalidActivityException)?

В ходе присвоения стало полезно записать подкласс IllegalArgumentException для представления серии вводимых символов, которые не могут маркироваться, и я задаюсь вопросом, говорится ли в конвенции для использования InvalidTokenException или IllegalTokenException.

Единственная разница, которую я могу найти до сих пор, является этим java.lang кажется, предпочитает "Недопустимый" в то время как javax.* предпочитает "Недопустимый". Однако существует также java.security.InvalidParameterException который является подклассом IllegalArgumentException.

19
задан ehdv 2 March 2010 в 15:42
поделиться

3 ответа

Вы можете разрешить использовать API, но при этом иметь недействительные данные; это все семантика.

9
ответ дан 30 November 2019 в 05:17
поделиться

javax.activity.InvalidActivityException наследуется от java.rmi.RemoteException , и вам, вероятно, не нужна эта зависимость. См. Также Javadoc

EDIT и Invalid, и Illegal используются как синонимы, это не делает различий в семантике, только технические проблемы, упомянутые выше.

РЕДАКТИРОВАТЬ: Из документации Postgres Раздел 45.3.14. Сложные слова, которых следует избегать:

Незаконный . «Незаконно» означает нарушение закона, все остальное - «недействительно». А еще лучше сказать, почему он недействителен.

2
ответ дан 30 November 2019 в 05:17
поделиться

AFAIK, IllegalArgumentException следует использовать только тогда, когда вы хотите сигнализировать о неправильном использовании вызова метода API. Судя по всему, вы описываете сценарий, когда API был использован неправильно, поэтому я думаю, что IllegalArgumentException будет лучшим выбором.

-1
ответ дан 30 November 2019 в 05:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: