estou aprendendo sobre Exception e estou com duvida em Exceções: Checked, Unchecked
estou aprendendo sobre Exception e estou com duvida em Exceções: Checked, Unchecked
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