Em Java, só existe uma situação real onde o compilador te obriga a tratar exceçÔes:
â Quando vocĂȘ lida com EXCEĂĂES VERIFICADAS (Checked Exceptions).
Fora isso, tudo o resto Ă© opcional, embora recomendado dependendo do caso.
As checked exceptions devem SEMPRE ser tratadas com:
try { ... } catch (...) { ... }, outhrows na assinatura do mĂ©todo (delegando o problema)đ Elas acontecem em situaçÔes externas ao nosso controle â arquivos, rede, banco de dados etc.
IOExceptionSQLExceptionFileNotFoundExceptionException, mas nĂŁo RuntimeExceptionthrowspublic void lerArquivo(String caminho) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(caminho));
}
try {
lerArquivo("teste.txt");
} catch (IOException e) {
System.out.println("Erro ao ler o arquivo!");
}
âïž O compilador exige um dos dois.