Použití finally v praxi
Bloky finally se obvykle používají k uzavření a uvolnění zdrojů – například databáze nebo souboru – bez ohledu na to, jestli program proběhl v pořádku nebo nastala výjimka.
V tomto cvičení nasimulujeme otevření souboru, zápis textu do souboru a jeho uzavření – vše pomocí volání metod. Blok finally použiješ k uzavření simulovaného souboru bez ohledu na to, zda při zpracování dojde k výjimce.
Toto cvičení je součástí kurzu
Datové typy a výjimky v Javě
Pokyny k cvičení
- Obal kód, který otevírá soubor a zapisuje do něj, blokem try.
- Zachyť jakoukoli výjimku, která může nastat při otevírání simulovaného souboru nebo zápisu textu.
- Přidej blok finally, který simulovaný soubor uzavře – zavolá se jak při bezproblémovém běhu programu, tak v případě výjimky při otevírání souboru nebo zápisu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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");
}
}