Usare finally in un esempio reale
I blocchi finally sono generalmente usati per chiudere e ripulire risorse, come un database o un file, che sono in uso — indipendentemente dal flusso normale o dal fatto che si sia verificata un’eccezione.
Qui simulerai l’apertura di un file, la scrittura di testo nel file e la chiusura del file — tutto tramite chiamate a metodi. Userai finally per chiudere il file simulato a prescindere dal fatto che si verifichi o meno un’eccezione.
Questo esercizio fa parte del corso
Tipi di dati ed eccezioni in Java
Istruzioni dell'esercizio
- Apri un blocco try attorno al codice che apre un file e scrive nel file
- Intercetta qualsiasi eccezione che potrebbe verificarsi nell’apertura del file simulato e nella scrittura del testo.
- Aggiungi un blocco finally per chiudere il file simulato: verrà eseguito sia se il programma procede senza problemi sia se si verifica un’eccezione durante l’apertura o la scrittura sul file.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
public class FinallyCleanup {
public static void main(String[] args) {
String[] words = { "Lorem", "ipsum", "dolor", "sit", "amet" };
// Open a try block
____ {
open();
for (int i = 0; i <= words.length; i++) {
writeToFile(words[i]);
}
// Catch any possible exception
} ____ (____ ____) {
System.out.println("Problem writing words to file");
// Add a finally block to close the file
} ____ {
close();
}
}
public static void open() {
System.out.println("Our file is open");
}
public static void close() {
System.out.println("Our file is closed");
}
public static void writeToFile(String text) {
System.out.println(text + " has been written to the file");
}
}