sono un java newbie. ho una domanda su come organizzare il codice java quando si usa try catch finally blocks. supponiamo di dover leggere alcuni file di testo e fare alcuni calcoli sul contenuto del file memorizzato. come dovrebbe essere il mio codice?l'organizzazione del codice java quando si usa try catch finally blocks
Per esempio
codice 1 si presenta come:
public static void main(String[] args){
try{
//open files using BufferedReader, read and store the file contents.
}catch(IOException e){
e.printStackTrace();
}
finally{
//close the files
}
// do computations on the data
}
codice 2 appare come segue:
public static void main(String[] args){
try{
//open files using BufferedReader, read and store the file contents.
// do computations on the data
}catch(IOException e){
e.printStackTrace();
}
finally{
//close the files
}
}
quale dei due è una pratica migliore di codifica? Inoltre, il blocco dovrebbe essere posizionato subito dopo lo try catch o può essere posizionato verso la fine.
metodo 2 perché probabilmente hai bisogno dei dati se vuoi fare calcoli su di esso. – Breavyn
Chiamare 'e.printStackTrace()' in un blocco 'catch' non * gestisce * l'eccezione. Questo è il classico [try/catch/ignore anti-pattern] (http://c2.com/cgi/wiki?EmptyCatchClause). – Asaph
Vorrei solo inserire quello che deve essere nel tentativo di catturare all'interno del try catch. Leggendo il file si genera un'eccezione, quindi Id lo ha inserito nel try catch. Se i tuoi calcoli lo fanno, allora mettili in una prova separata, altrimenti, spostali all'esterno. Quindi, tipo di raccomandare il codice 1 – user489041