2010-05-18 10 views

Respuesta

12

No conozco ninguna regla vinculante para esto, pero supongo que simplemente tiene sentido.

class FileNotFound 

podría significar una serie de cosas, mientras que

class FileNotFoundException 

hace que el personaje de excepción muy clara.

+1

Pensé esto, pero solo se usará en el contexto de la clase FileNotFound extends Exception, o cuando se lanza y atrapa. –

+0

@Pheter sí, pero si trabajas con un IDE, la clase aparecerá en tu explorador de código/explorador de proyecto y puede crear confusión. Con el prefijo "Excepción", las cosas son más claras en el largo plazo IMO. –

+0

Buen punto, no lo había considerado. ¡Gracias! –

4

Imagine dos clases, InvalidIndex e InvalidIndexException. Una clase llamada InvalidIndex puede ser completamente válida (por ejemplo, para invalidar índices de bases de datos o algo así) y no está relacionada con una excepción. Si ahora tenía una excepción para los índices de matrices no válidas, tendría un problema de nomenclatura. Sufriendo clases de excepción con Excepción, evita conflictos de nombres como ese.

+1

De acuerdo con esa lógica, todas las clases deben ser pre o postfixed con el nombre del proyecto y la fase de la luna; esto evita conflictos de nombres, ¿no? –

+1

él +1 para la fase de la luna. Espero ver InvalidArgumentAnotherShoppingCartFullMoonException – Artefacto

+1

@borgwardt - Estás confundiendo "a veces es una buena idea" con "siempre tienes que hacerlo". –

Cuestiones relacionadas