Sobes.tech
Junior — Middle

Czy można przechwytywać wyjątki, które nie są jawnie zadeklarowane w kodzie?

sobes.tech AI

Odpowiedź od AI

Tak, w Java można przechwytywać wyjątki, które nie są jawnie zadeklarowane w kodzie. W Java istnieją dwa typy wyjątków:

  • Sprawdzane (checked) wyjątki — muszą być zadeklarowane w sygnaturze metody za pomocą throws lub obsłużone w bloku try-catch.
  • Nie sprawdzane (unchecked) wyjątki — są podklasami RuntimeException i Error. Nie trzeba ich deklarować i można je przechwytywać, choć zwykle nie są specjalnie obsługiwane.

Na przykład, można przechwycić dowolny wyjątek za pomocą catch (Exception e), nawet jeśli nie jest on zadeklarowany w metodzie:

try {
    // kod, który może wyrzucić wyjątek
} catch (Exception e) {
    // obsługa dowolnego wyjątku
}

W ten sposób można przechwycić dowolne wyjątki, ale dla sprawdzanych wyjątków kompilator wymaga ich deklaracji lub obsługi.