Zacznij terazZacznij za darmo

Naprawianie błędu

Błędy (Error) to poważne problemy w świecie Javy. Czasem wynikają z problemów środowiskowych, na które nie mamy wpływu. Innym razem możemy napisać kod, który sam je wywołuje. W tym ćwiczeniu przyjrzysz się aplikacji, która nigdy się nie kończy i generuje Error – konkretnie StackOverflowError – a następnie ją poprawisz. Zobaczenie takiego błędu pomoże ci rozpoznawać go w przyszłości. W odróżnieniu od wyjątków, błędów nie można obsłużyć za pomocą bloków try-catch ani słowa kluczowego throws.

To ćwiczenie jest częścią kursu

Typy danych i wyjątki w Javie

Zobacz kurs

Instrukcje do ćwiczenia

  • Uruchom przykładowy kod w obecnej postaci – wartość cycles nigdy się nie zmienia, co prowadzi do nieskończonej pętli wywołań, powoduje awarię aplikacji i generuje StackOverflowError.
  • Po zaobserwowaniu StackOverflowError dodaj + 1 do cycles w wywołaniu doWork, dzięki czemu wartość cycles będzie się zmieniać i nieskończona pętla zostanie przerwana.
  • Uruchom kod ponownie, aby sprawdzić, że aplikacja działa poprawnie i nie generuje już StackOverflowError.

Interaktywne ćwiczenie praktyczne

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

public class ErrorGeneration {

	public static void main(String[] args) {
    	System.out.println("Started the work");
		doWork(0);
        System.out.println("Work complete");
	}

	public static void doWork(int cycles) {
		if (cycles < 10) {
            // Add +1 to cycles after running
			doWork(cycles);
		}
	}
}
Edytuj i uruchom kod