Використання finally на реальному прикладі
Блоки finally зазвичай застосовують для закриття та очищення ресурсів, як-от бази даних або файлів, що використовуються, — незалежно від нормального перебігу виконання чи виникнення винятку.
Тут ви змоделюєте відкриття файла, запис тексту у файл, а також закриття файла — усе через виклики методів. Ви використаєте finally, щоб закрити змодельований файл незалежно від того, чи станеться виняток.
Ця вправа є частиною курсу
Типи даних і винятки в Java
Інструкції до вправи
- Розпочніть блок try навколо коду, що відкриває файл і записує в нього дані.
- Перехопіть будь-який виняток, який може виникнути під час відкриття змодельованого файла та запису тексту в нього.
- Додайте блок finally, щоб закрити змодельований файл. Він виконається і в разі успішної роботи програми, і якщо під час відкриття або запису у файл станеться виняток.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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");
}
}