Använda finally i ett praktiskt exempel
finally-block används vanligtvis för att stänga och frigöra resurser – till exempel en databas eller en fil – oavsett om programmet körde normalt eller om ett undantag inträffade.
Här simulerar du att öppna en fil, skriva text till den och sedan stänga den – allt via metodanrop. Du använder finally för att stänga den simulerade filen oavsett om ett undantag uppstår eller inte.
Den här övningen är en del av kursen
Datatyper och undantag i Java
Övningsinstruktioner
- Inled ett try-block runt koden som öppnar en fil och skriver till den.
- Fånga alla undantag som kan uppstå när den simulerade filen öppnas eller när text skrivs till den.
- Lägg till ett finally-block för att stänga den simulerade filen – det anropas oavsett om programmet körs utan problem eller om ett undantag uppstår vid öppning eller skrivning.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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");
}
}