Junior — Middle
É possível capturar exceções que não estão explicitamente declaradas no código?
sobes.tech IA
Resposta da IA
Sim, em Java é possível capturar exceções que não estão explicitamente declaradas no código. Em Java, existem dois tipos de exceções:
- Exceções verificadas (checked) — devem ser declaradas na assinatura do método usando
throwsou tratadas num blocotry-catch. - Exceções não verificadas (unchecked) — são subclasses de
RuntimeExceptioneError. Não precisam ser declaradas e podem ser capturadas, embora geralmente não sejam tratadas especificamente.
Por exemplo, pode-se capturar qualquer exceção com catch (Exception e), mesmo que ela não esteja declarada no método:
try {
// código que pode lançar uma exceção
} catch (Exception e) {
// tratamento de qualquer exceção
}
Dessa forma, é possível capturar qualquer exceção, mas para exceções verificadas, o compilador exige que sejam declaradas ou tratadas.