Sobes.tech
Junior — Middle

Qual é a diferença entre uma exceção não verificada e uma exceção verificada em Java?

sobes.tech IA

Resposta da IA

No Java, exceções verificadas são aquelas que são verificadas pelo compilador durante a compilação. Os métodos que podem lançá-las devem declará-lo com throws, e o código que as chama deve tratá-las ou também declará-las.

Exceções não verificadas (RuntimeException e suas subclasses) não requerem tratamento ou declaração obrigatória. Geralmente estão relacionadas a erros de programação, como NullPointerException ou ArrayIndexOutOfBoundsException.

Exemplo:

// Exceção verificada
public void readFile() throws IOException {
    // código de leitura de arquivo
}

// Exceção não verificada
public void divide(int a, int b) {
    int result = a / b; // pode lançar ArithmeticException
}

Portanto, exceções verificadas destinam-se a situações que podem ser previstas e tratadas, enquanto as não verificadas geralmente indicam bugs.