Utilizarea finally într-un exemplu real
Blocurile finally sunt folosite în general pentru a închide și a elibera resurse – cum ar fi o bază de date sau un fișier – indiferent dacă execuția a decurs normal sau a apărut o excepție.
În acest exercițiu, vei simula deschiderea unui fișier, scrierea de text în acesta și închiderea lui – totul prin apeluri de metode. Folosești finally pentru a închide fișierul simulat indiferent dacă apare sau nu o excepție.
Acest exercițiu face parte din cursul
Tipuri de date și excepții în Java
Instrucțiuni pentru exercițiu
- Începe un bloc try în jurul codului care deschide un fișier și scrie în el.
- Capturează orice excepție care ar putea apărea la deschiderea fișierului simulat sau la scrierea textului în el.
- Adaugă un bloc finally pentru a închide fișierul simulat – acesta va fi apelat indiferent dacă programul rulează fără probleme sau dacă apare o excepție la deschiderea ori scrierea fișierului.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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");
}
}