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