A especificação de um sufixo Exception em classes de exceção parece um cheiro de código para mim (informações redundantes - o restante do nome implica um estado de erro e herda de Exception). No entanto, também parece que todo mundo faz isso e parece ser uma boa prática.
Estou procurando entender por que isso é uma boa prática.
Eu já vi e li a pergunta: por que as exceções geralmente têm a exceção do sufixo no nome da classe
A questão é para PHP e, embora as respostas sejam provavelmente válidas para Java. Existem outros argumentos ou é realmente tão simples quanto diferenciá-los explicitamente?
Se pegarmos os exemplos da pergunta anterior - poderia realmente haver classes em java com o nome FileNoFound
que não é uma exceção? Se houver, justifica o sufixo Exception
?
Olhando para uma hierarquia rápida no eclipse de Exception
, com certeza, a grande maioria deles tem o sufixo de exceção, mas existem algumas exceções. javassist
é um exemplo de uma biblioteca que parece ter algumas exceções sem o sufixo - por exemplo BadByteCode
, BadHttpRequest
etc.
BouncyCastle
é outra lib com exceções como CompileError
Eu pesquisei um pouco também com pouca informação sobre o assunto.
FileNotFound
ArrayIndexOutOfBounds
e OutOfMemory
são mais observações / descrições, mas são aplicadas ao substantivo Exception
.
Exception
sufixo ou devemos fazer exceções para exceções excepcionais?" ;)