Exceções checadas e não checadas

Olá pessoal

qual é a diferença entre Exceções checadas e Exceções não checadas?

Já peguei uns tres artigos mas a didatica dos autores não era muito boa rsrsrs

VALEW

Bom… vamos lá…

As Checked Exceptions são exceções que, havendo alguma falha dentro do método, o desenvolvedor DEVERÁ executar operações para tratar estes erros…

exemplo de CheckedExceptions:

SQLException, IOException, ParseException

As uncheckExceptions são todas as exceptions derivadas da classe RuntimeException, ou seja, são exceções que podem ser lançadas durante operações realizadas normalmente pela JVM e que não precisam necessariamente ser tratadas.

Exemplos:

NullPointerException, ArrayIndexOutOfBoundsException, ClassCastException e NumberFormatException

O material do Luca aqui do GUJ é excelente:

http://www.guj.com.br/posts/list/61611.java

Eu diria que a principal diferença entre ambas, é que na exceção checada, você precisa fazer o tratamento da exceção, já a não checada, você não tem necessidade de fazer o tratamento da mesma. Um exemplo da NÃO checada segue logo abaixo:

public class TesteExcecaoNaoChecada {

public static void main(String args[]) {

    int lNum1 = 10;
    int lNum2 = 0;
    System.out.println("A resposta da divisão é: " + lNum1/lNum2);
}

}

Trocando em miúdos:

as exceções não checadas são subclasses de RuntimeException ou Error.

as exceções checadas extendem de Exception.

nas exceções não checadas são aquelas que a utilização não é obrigatória como a ArithmeticException

nas execções checadas são aquelas que o uso é obrigatório ex: SQLException.

OBS: Se eu usar um método que exige o exceção checada, e não tratar essa exceção, o código nem compila.

Certo?

EXATO

dar uma olhada nesse post