2010-05-18 6 views

risposta

12

Non so nessuna regola vincolante per questo, ma immagino che abbia senso.

class FileNotFound 

potrebbe significare un certo numero di cose, mentre

class FileNotFoundException 

rende il personaggio di eccezione molto chiaro.

+1

L'ho pensato, ma verrà sempre e solo usato nel contesto della classe FileNotFound estende Exception, o quando si lancia e si cattura. –

+0

@Photo si, ma se lavori con un IDE, la classe apparirà nel tuo explorer di progetto/esploratore del codice e potrebbe creare confusione. Con il prefisso "Exception", le cose sono più chiare nel lungo periodo IMO. –

+0

Buon punto, non l'avevo considerato. Grazie! –

4

Immaginate due classi, InvalidIndex e InvalidIndexException. Una classe chiamata InvalidIndex potrebbe essere completamente valida (ad esempio per invalidare gli indici del database o qualcosa del genere) e non correlata a un'eccezione. Se ora avessi un'eccezione per gli indici di array non validi avresti un problema di denominazione. Con il suffisso delle classi di eccezioni con Eccezione, si evitano conflitti di nomi del genere.

+1

Secondo questa logica, tutte le classi devono essere pre o postfissa con il nome del progetto e la fase della luna - evita conflitti di nomi, giusto? –

+1

egli +1 per la fase della luna. Non vedo l'ora di vedere InvalidArgumentAnotherShoppingCartFullMoonException – Artefacto

+1

@borgwardt - Stai confondendo "a volte è una buona idea" con "devi sempre". –

Problemi correlati