Czym są wyjątki kontrolowane i niekontrolowane w Javie oraz podaj przykłady każdego rodzaju
W Javie wyjątki dzielimy na dwa główne rodzaje: wyjątki kontrolowane (checked exceptions) i wyjątki niekontrolowane (unchecked exceptions).
-
Wyjątki kontrolowane (checked exceptions):
- Wyjątki kontrolowane są to wyjątki, które muszą być obsłużone przez program, w przeciwnym razie program nie skompiluje się.
- Są one dziedziczone z klasy
Throwable, ale nie z klasyRuntimeException. - Przykłady wyjątków kontrolowanych to:
IOException: Wyjątek zgłaszany, gdy wystąpi problem z operacjami wejścia/wyjścia, np. podczas odczytu pliku.SQLException: Wyjątek zgłaszany, gdy wystąpi błąd w trakcie dostępu do bazy danych.ParseException: Wyjątek zgłaszany, gdy wystąpi problem podczas parsowania danych.
-
Wyjątki niekontrolowane (unchecked exceptions):
- Wyjątki niekontrolowane są to wyjątki, które nie muszą być obsługiwane przez program, ale mogą być obsłużone w razie potrzeby.
- Są one dziedziczone z klasy
RuntimeException. - Przykłady wyjątków niekontrolowanych to:
NullPointerException: Wyjątek zgłaszany, gdy próba dostępu do obiektu, który ma wartośćnull.ArrayIndexOutOfBoundsException: Wyjątek zgłaszany, gdy następuje próba dostępu do elementu tablicy poza jej zakresem.ArithmeticException: Wyjątek zgłaszany, gdy wystąpi błąd arytmetyczny, np. dzielenie przez zero.
W przypadku wyjątków kontrolowanych, programista jest zmuszony do obsługi tych wyjątków poprzez blok try-catch lub poprzez deklarację wyjątku w sygnaturze metody. Natomiast wyjątki niekontrolowane mogą być obsłużone, ale nie jest to wymagane, co daje większą elastyczność, ale wymaga ostrożności w pisaniu kodu, aby uniknąć błędów.

