Originariamente inviato da mark85_159622
Grazie per la spiegazione, mi puoi per favore dare un esempio di un eccezione unchecked?
Le eccezioni checked sono tutte quelle che derivano da java.lang.Exception eccetto tutte quelle nel sottoramo java.lang.RuntimeException.
codice:
java.lang.Exception
\
java.io.IOException (quindi checked)
codice:
java.lang.Exception
\
java.lang.RuntimeException
\
java.lang.NullPointerException (quindi unchecked)
Originariamente inviato da mark85_159622
Perche' si utilizza il tuo metodo piuttosto quello che avevo scritto io.
E' dovuto a qualche motivo perticolare?
Perché innanzitutto come ti ho già detto, in Java non si dovrebbero ritornare dei codici di "status" per indicare errori .... ci sono le eccezioni, appunto.
E il perché in writeFile() si dovrebbe far uscire la eccezione e non catturarla lì dentro, è anche semplice: che cosa fa quel metodo? Semplicemente, "stupidamente" scrive su file .... senza sapere null'altro e basta. Quel metodo potrebbe essere usato in una applicazione "console" ... o in una applicazione "grafica" con AWT/Swing ... o in una servlet in una web application.
Non lo so io, non dovrebbe "saperlo" il metodo .... e non importa. Lascia che faccia il "suo" lavoro e se c'è qualche errore esso lancia al di fuori la eccezione. Sarà compito di qualche altra parte del codice, dove c'è maggiore "conoscenza" dell'ambiente e dell'interfacciamento verso l'utente a dover catturare la eccezione e presentarla come/dove ti pare.