1
resposta

Exceções

estou aprendendo sobre Exception e estou com duvida em Exceções: Checked, Unchecked

1 resposta

Olá Dayson, tudo bem ?

Assim como o nome diz, uma nós temos que checar e outra não, vou te falar um pouco inicialmente da que temos que checar, beleza ?

Alguns métodos de certas classes, podem gerar alguma Exception, por exemplo, quando nós criamos um objeto que representa um arquivo :

String caminho = //
File file = new File(caminho);

Agora pensa que quero imprimir o caminho daquele arquivo :

String caminho = //caminho para o arquivo
File file = new File(caminho);

System.out.println(file. getAbsoluteFile());

Nesse instante ele nos avisa que este método pode nos gerar problemas, por conta do arquivo não poder ser acesso e que se nós quisermos realmente fazer isso, nós teremos que cuidar de ambas as possibilidades:

String caminho = //caminho para o arquivo
File file = new File(caminho);

try {

    System.out.println(file. getAbsoluteFile());
} catch(SecurityException e){
    System.out.println("Não temos acesso ao arquivo");
}

Sermos obrigados a fazer isso, é uma das responsabilidades do throws nesse método.

Agora vamos falar das Exceptions Unchecked, que são aquelas que levamos sem estar esperando, por exemplo :

String caminho;

caminho.toUpperCase();

Repare que nesse ponto a nossa variável caminho não possui nenhuma referência e ao usarmos o método toUpperCase() numa referencia nula, será gerando um exceção em execução, do tipo do NullPointerException, que nós não conseguimos saber se irá gerar em tempo de compilação.

Espero ter deixado mais claro.

Abraços e bons estudos :D

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software