Exceções em Java 1 Exceções em Java • Try, Catch, Throw public static void FileInputStream() { if // ..Erro na abertura do arquivo throw new FileNotFoundException(); } public static void metodo() { try { new java.io.FileInputStream("arquivo.txt"); } catch (java.io.FileNotFoundException e) { System.out.println("Nao foi possível abrir o arquivo para leitura"); } } 2 Exceções em Java • Throws public class TestaException { public static void main(String[] args) throws FileNotFoundException { new java.io.FileInputStream("arquivo.txt"); } } 3 Exceções em Java • Tratamento de Múltiplas Exceções -­‐ Com Try, Catch try { objeto.metodoQuePodeLancarIOeSQLException(); } catch (IOException e) { // .. } catch (SQLException e) { // .. } -­‐ Com Throws public void abre(String arquivo) throws IOException, SQLException { // .. } -­‐ Combinação de Try, Catch e Throws public void abre(String arquivo) throws IOException { try { objeto.metodoQuePodeLancarIOeSQLException(); } catch (SQLException e) { // .. } } 4 Exceções em Java • O método getMessage() try { new java.io.FileInputStream("arquivo.txt"); } catch (java.io.FileNotFoundException e) { System.out.println(e.getMessage()); } 5 Exceções em Java • Checked (Classe Exception) public class SaldoInsuficienteException extends Exception { SaldoInsuficienteException(String message) { super(message); } } • Unckecked (Classe RuntimeException) public class SaldoInsuficienteException extends RuntimeException { SaldoInsuficienteException(String message) { super(message); } } 6 Exceções em Java • Finally try { // bloco try } catch (IOException ex) { // bloco catch 1 } catch (SQLException sqlex) { // bloco catch 2 } finally { // bloco que será sempre executado, independente // se houve ou não exception e se ela foi tratada ou não } 7 Bibliografia • Java e Orientação à Objetos. Caelum Ensino e Inovação. Disponível em: http:// www.caelum.com.br 8