Zacznij terazZacznij za darmo

Praktyczne zastosowanie bloku finally

Bloki finally są zazwyczaj używane do zamykania i zwalniania zasobów – takich jak baza danych czy plik – niezależnie od tego, czy program wykonał się poprawnie, czy wystąpił wyjątek.

W tym ćwiczeniu zasymulujemy otwieranie pliku, zapisywanie do niego tekstu oraz jego zamykanie – wszystko za pomocą wywołań metod. Użyj bloku finally, aby zamknąć symulowany plik niezależnie od tego, czy pojawi się wyjątek.

To ćwiczenie jest częścią kursu

Typy danych i wyjątki w Javie

Zobacz kurs

Instrukcje do ćwiczenia

  • Umieść w bloku try kod, który otwiera plik i zapisuje do niego dane.
  • Przechwytuj dowolny wyjątek, który może wystąpić podczas otwierania symulowanego pliku lub zapisywania tekstu.
  • Dodaj blok finally, który zamknie symulowany plik – zostanie on wywołany zarówno wtedy, gdy program wykona się bez błędów, jak i w przypadku wystąpienia wyjątku podczas otwierania pliku lub zapisu danych.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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");
	}
}
Edytuj i uruchom kod