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ą
throwslub obsłużone w blokutry-catch. - Nie sprawdzane (unchecked) wyjątki — są podklasami
RuntimeExceptioniError. 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.