Java Tratamento de Excees Alcides Calsavara 1 Definio
- Slides: 15
Java: Tratamento de Exceções Alcides Calsavara 1
Definição u Exceções são acontencimentos fora do comportamento normal ou desejado para um programa. O gerenciamento de exeções permite o controle sobre erros e possivelmente uma solução de contorno. u Exemplos: entrada em formato inválido, arquivo corrompido, conexão de rede não disponível, índice inválido para vetor, . . . 2
Exemplo de código frágil class Test. Null. P { static String s = null; public static void main(String args[ ]) { char c 1 = s. char. At(2); // java. lang. Null. Pointer. Exception (programa pára) s = new String("Curitiba"); char c 2 = s. char. At(2); // c 2 = 'r' char c 3 = s. char. At(8); // java. lang. String. Index. Out. Of. Bounds. Exception (programa pára) } } // fim 3
Exemplo modificado com ifs class Test. Null. P { static String s = null; public static void main(String args[ ]) { if (s != null && s. length( ) > 2) char c 1 = s. char. At(2); s = new String("Curitiba"); if (s != null && s. length( ) > 2) char c 2 = s. char. At(2); // c 2 = 'r' if (s != null && s. length( ) > 8) char c 3 = s. char. At(8); } } // fim 4
Exemplo modificado com tratamento de exceções class Test. Null. P { static String s = null; public static void main(String args[]) { try { char c 1 = s. char. At(2); } catch (Exception e) { System. out. println("Exceção " + e); // Exceção: java. lang. Null. Pointer. Exception } // continua 5
Exemplo modificado com tratamento de exceções (cont. ) s = new String("Curitiba"); try { char c 2 = s. char. At(2); // c 2 = 'r' } catch (Exception e) { System. out. println("Exceção " + e); } // continua 6
Exemplo modificado com tratamento de exceções (cont. ) try { char c 3 = s. char. At(8); } catch (Exception e) { System. out. println("Exceção " + e); // Exceção: java. lang. String. Index. Out. Of. Bounds. Exception } } } // fim 7
Hierarquia de exceções . . . 8
Tratando exceções não relacionadas por herança class Test. Null. P { static String s = null; public static void main(String args[ ]) { try { char c 1 = s. char. At(2); } catch (Exception e) { System. out. println("Exceção " + e); } catch (Error e) { System. out. println("Erro " + e); } } // fim 9
A cláusula finally class Test. Null. P { static String s = null; public static void main(String args[ ]) { try { char c 1 = s. char. At(2); } catch (Exception e) { System. out. println("Exceção " + e); } catch (Error e) { System. out. println("Erro " + e); } finally { System. out. println("Adios, amigos"); } // executado sempre } } 10
A cláusula throws class Test. Null. P { static String s = null; static void work( ) throws Throwable { try { char c 1 = s. char. At(2); } catch (Exception e) { System. out. println("Exceção"); throw(e); } catch (Error e) { System. out. println("Erro"); throw(e); } finally { System. out. println("Adios, amigos"); } } // continua 11
A cláusula throws (cont. ) public static void main(String args[ ]) { try { work( ); } catch(Throwable t) { System. out. println("Erro ou Exceção " + t); } finally { System. out. println("Adios, amigos II"); } } } // fim 12
Definindo suas próprias exceções class Problema. Em. Work extends Exception { public Problema. Em. Work( ) { } public Problema. Em. Work(String msg) { super(msg); } } // continua 13
Definindo suas próprias exceções (cont. ) class Test. Null. P { static String s = null; static void work( ) throws Problema. Em. Work { try { char c 1 = s. char. At(2); } catch (Exception e) { throw(new Problema. Em. Work("Exceção em work " + e)); } catch (Error e) { throw(new Problema. Em. Work("Erro em work " + e)); } finally { System. out. println("Adios, amigos"); } } // continua 14
Definindo suas próprias exceções (cont. ) public static void main(String args[ ]) { try { work(); } catch(Problema. Em. Work p) { System. out. println(p); } finally { System. out. println("Adios, amigos II"); } } } // fim 15
- Noemi calsavara
- Como definio arrhenius a los acidos
- Excees
- Excees
- Wexceção
- Excees
- Herpes genital tratamento definitivo
- Icterícia neonatal tratamento
- Gleason 7 tratamento
- Efizema pulmonar
- Pronomes de tratamento você
- Antifúngicos orais
- Exemplos de pronomes pessoais
- Tratamento gripe
- Dolicocólon tratamento
- Nicola cezzi