Specificare un suffisso di eccezione sulle classi di eccezioni mi sembra un odore di codice (informazioni ridondanti: il resto del nome implica uno stato di errore ed eredita dall'eccezione). Tuttavia, sembra anche che tutti lo facciano e sembra essere una buona pratica.
Sto cercando di capire perché questa è una buona pratica.
Ho già visto e letto la domanda perché le eccezioni di solito hanno l'eccezione suffisso nel nome della classe
La domanda è per PHP e mentre le risposte sono probabilmente valide per Java. Ci sono altri argomenti o è davvero così semplice come differenziarli esplicitamente?
Se prendiamo gli esempi dalla domanda precedente, potrebbero esserci davvero delle classi in Java con il nome FileNoFoundche non fa eccezione? Se ci può essere, giustifica il suffisso con Exception?
Guardando una rapida gerarchia in eclissi di Exception, abbastanza sicuro, la stragrande maggioranza di loro ha il suffisso di eccezione, ma ci sono alcune eccezioni. javassistè un esempio di libreria che sembra avere alcune eccezioni senza il suffisso - ad esempio BadByteCode, BadHttpRequestecc.
BouncyCastle è un'altra lib con eccezioni come CompileError
Ho cercato su Google un po 'anche con poche informazioni sull'argomento.
FileNotFound ArrayIndexOutOfBoundse OutOfMemorysono più osservazioni / descrizioni, ma vengono quindi applicate al nome Exception.
Exceptionsuffisso o dovremmo fare eccezioni per eccezioni eccezionali?" ;)