Задание суффикса Exception для классов исключений выглядит для меня как запах кода (избыточная информация - остальная часть имени подразумевает состояние ошибки и наследуется от Exception). Однако, кажется, что все так делают, и это хорошая практика.
Я хочу понять, почему это хорошая практика.
Я уже видел и читал вопрос, почему у исключений обычно есть исключение суффикса в имени класса
Вопрос касается PHP и, хотя ответы, вероятно, действительны для Java. Существуют ли другие аргументы или это действительно так просто, как явно их дифференцировать?
Если мы возьмем примеры из предыдущего вопроса - действительно ли могут быть классы в Java с именем FileNoFound
, которое не является исключением? Если это возможно, то оправдывает ли это суффикс Exception
?
Если взглянуть на быструю иерархию в затмении, то Exception
, конечно же, подавляющее большинство из них имеют суффикс исключения, но есть несколько исключений. javassist
пример библиотеки, которая, кажется, имеет несколько исключений без суффикса - например BadByteCode
, BadHttpRequest
и т. д.
BouncyCastle
это еще одна библиотека с исключениями, такими как CompileError
Я также немного погуглил с небольшой информацией по этому вопросу.
FileNotFound
ArrayIndexOutOfBounds
и OutOfMemory
больше наблюдений / описаний, но затем применяются к существительному Exception
.
Exception
суффикс, или мы должны делать исключения для исключительных исключений?» ;)