W tym samouczku dowiemy się o wyjątkach w Javie. Omówimy błędy, wyjątki i różne typy wyjątków w Javie.
Wyjątkiem jest nieoczekiwane zdarzenie, które występuje podczas wykonywania programu. Wpływa na przepływ instrukcji programu, co może spowodować nieprawidłowe zakończenie działania programu.
Wyjątek może wystąpić z wielu powodów. Niektórzy z nich są:
- Nieprawidłowe dane wejściowe użytkownika
- Awaria urządzenia
- Utrata połączenia sieciowego
- Ograniczenia fizyczne (brak pamięci dyskowej)
- Błędy kodu
- Otwieranie niedostępnego pliku
Hierarchia wyjątków Java
Oto uproszczony diagram hierarchii wyjątków w Javie.
Jak widać na powyższym obrazku, Throwable
klasa jest klasą główną w hierarchii.
Zwróć uwagę, że hierarchia dzieli się na dwie gałęzie: błąd i wyjątek.
Błędy
Błędy reprezentują nieodwracalne warunki, takie jak brak pamięci w wirtualnej maszynie Java (JVM), wycieki pamięci, błędy przepełnienia stosu, niezgodność bibliotek, nieskończona rekurencja itp.
Błędy są zwykle poza kontrolą programisty i nie powinniśmy próbować sobie z nimi radzić.
Wyjątki
Wyjątki mogą być wychwytywane i obsługiwane przez program.
Gdy w metodzie występuje wyjątek, tworzy ona obiekt. Ten obiekt jest nazywany obiektem wyjątku.
Zawiera informacje o wyjątku, takie jak nazwa i opis wyjątku oraz stan programu, w którym wystąpił wyjątek.
Dowiemy się, jak postępować z tymi wyjątkami w następnym samouczku. W tym samouczku skupimy się teraz na różnych typach wyjątków w Javie.
Typy wyjątków Java
Hierarchia wyjątków ma również dwie gałęzie: RuntimeException
i IOException
.
1. Wyjątek RuntimeException
Wystąpił wyjątek w czasie wykonywania z powodu błędu programowania. Są również znane jako niezaznaczone wyjątki .
Te wyjątki nie są sprawdzane w czasie kompilacji, ale w czasie wykonywania. Niektóre z typowych wyjątków w czasie wykonywania to:
- Niewłaściwe użycie API -
IllegalArgumentException
- Dostęp do wskaźnika o wartości zerowej (brak inicjalizacji zmiennej) -
NullPointerException
- Dostęp do tablicy poza zakresem -
ArrayIndexOutOfBoundsException
- Dzielenie liczby przez 0 -
ArithmeticException
Możesz o tym myśleć w ten sposób. „Jeśli jest to wyjątek w czasie wykonywania, to Twoja wina”.
NullPointerException
Nie doszłoby gdybyś sprawdził czy zmienna została zainicjowana lub nie przed jej użyciem.
ArrayIndexOutOfBoundsException
Nie doszłoby, jeśli badany indeks tablicy przed granice tablicy.
2. IOException
IOException
Jest również znany jako sprawdzonej wyjątku . Są one sprawdzane przez kompilator w czasie kompilacji, a programista jest proszony o obsłużenie tych wyjątków.
Oto niektóre przykłady zaznaczonych wyjątków:
- Próba otwarcia pliku, który nie istnieje, skutkuje
FileNotFoundException
- Próbuję czytać poza końcem pliku
Teraz, gdy wiemy już o wyjątkach, dowiemy się o obsłudze wyjątków w następnym samouczku.