Achei muito boa a explicação do Alemão para exceptions checked e unchecked, mas ficou a duvida quando usar checked e quando usar unchecked? Me de exemplos de utilização real dessas exceptions.
Achei muito boa a explicação do Alemão para exceptions checked e unchecked, mas ficou a duvida quando usar checked e quando usar unchecked? Me de exemplos de utilização real dessas exceptions.
Checked: o compilador já sabe de antemão que o código pode dar caquinha. Operações de leitura de arquivos por exemplo, o compilador já sabe de antemão que vai dar treta de o arquivo não existir, então para protejer a jvm ele já pede que vc trate de antemão dessa situação, olha um código meu de assinatura digital o tanto de caca que pode acontecer e o compilador se previne quanto a isso:
public void signA1(String src, String dest) {
try {
// implementação de assinatura digital utilizando certificado A1 e itext
} catch (UnrecoverableKeyException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
} catch (NoSuchProviderException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (CertificateException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
Nas unchecked o compilador não tem como prever o problema, logo ele não tem como se previnir :
public void cortarGrama(){
Cortador cortador = null;
cortador.cortar(); //null pointer exception
}
repara que quem tá fazendo a besteira é o programador, o compilador não tem como prever isso.
dá uma olhada nesses artigos: https://sergiotaborda.wordpress.com/desenvolvimento-de-software/java/trabalhando-com-excecoes-conceitos/