Sobes.tech
Junior — Middle

Wyjaśnij strukturę hierarchii wyjątków w języku Java i ich cechy

sobes.tech AI

Odpowiedź od AI

W Javie hierarchia wyjątków opiera się na klasie Throwable, która ma dwa główne podklasy:

  • Error — błędy związane z maszyną wirtualną (np. OutOfMemoryError), zwykle nie są obsługiwane w kodzie.
  • Exception — wyjątki, które można i należy obsługiwać.

Z kolei, Exception dzieli się na:

  • Sprawdzane wyjątki (Checked exceptions) — wymagają obowiązkowego obsłużenia lub deklaracji w sygnaturze metody (np. IOException).
  • Nie sprawdzane wyjątki (Unchecked exceptions) — dziedziczą z RuntimeException (np. NullPointerException), nie wymagają obowiązkowej obsługi.

Cechy:

  • Sprawdzane wyjątki zmuszają programistę do jawnego obsługiwania błędów, co zwiększa niezawodność.
  • Nie sprawdzane wyjątki zazwyczaj sygnalizują błędy programistyczne.

Przykład:

try {
    // kod, który może wyrzucić IOException
} catch (IOException e) {
    e.printStackTrace();
}

W ten sposób hierarchia wyjątków pomaga strukturyzować obsługę błędów i rozdzielać różne typy problemów.