O documento discute o tratamento de exceções em Java, explicando que exceções sinalizam falhas no código e como o controle de execução é transferido para tratá-las. Apresenta dois tipos de exceções em Java - checked e unchecked - e fornece exemplos de como tratar exceções em código Java.
5. O que significa Tratamento de Exceções ? A exceção é um método que serve para sinalizar alguma falha. Ao lançarmos esse método no código ele gera uma interrupção rapidamente do código que a gerou. Após isso o controle de execução fará com que ele volte para o começo do código onde ele foi interrompido e retornar a exceção lançada.
6. Motivações para Exceções Em relação aos métodos com exceções nós podemos detectar uma falha, porém não quer dizer que não esteja apto a resolver o problema do seu método. Se colocarmos o tratamento de falhas durante todo o fluxo normal de código, corremos o risco de estar comprometendo a capacidade de entendimento do mesmo.
7. Exceções em Java Em java as exceções são representadas por classes. São inicializadas através do comando throw e são manipuladas pela estrutura try-catch-finally. Para ser um método de exceção deve seguir as instruções anteriores. Uma classe que represente exceção deve ter relação a uma certa hierarquia.
8. Tipos Em Java existem dois tipos de exceções, são eles: Checked Exceptions; Unchecked Exceptions.
9. Checked Exceptions Essas exceções são usadas para modelar as falhas contornadas. Ela precisa ser declarada nos métodos que as lançaram e que precisa ser tratadas. Esse método de exceção deverá ser checado pelo compilador para ter certeza que está sendo tratada ao ser recebido e que será declarada.
10. Unchecked Exceptions Ao contrário do outro tipo de exceção essa será usada para modelar as falhas incontornáveis. Ela não será checada pelo compilador. E normalmente não criamos exceções desse tipo, ela é usada normalmente pela linguagem para mostrar os erros.
11. Exemplo 1 Considerando a classe: importjava.io.BufferedReader; importjava.io.InputStreamReader; importjava.io.IOException; publicclass Ex1 { publicstaticvoidmain(String[] args) { BufferedReaderdataIn = newBufferedReader(new InputStreamReader(System.in)); String name = ""; System.out.print("Digite seu nome:"); try { name = dataIn.readLine(); } catch (IOException e) { System.out.println("Erro!"); } System.out.println("Olá " + name +"!"); } }
12. Exemplo 2.01 Classe não tratada: String menu = "LISTA DE ALUNOS" + "1 --> Cadastrar aluno" + "2 --> Listar aluno" + "3 --> Sair"; do{ String op = JOptionPane.showInputDialog(menu); num = Integer.parseInt(op);
13. Exemplo 2.02 Classe tratada: String menu = "LISTA DE ALUNOS" + "1 --> Cadastrar aluno" + "2 --> Listar aluno" + "3 --> Sair"; do{ String op = JOptionPane.showInputDialog(menu); try { num = Integer.parseInt(op); } catch (NumberFormatException e) { // TODO Auto-generated catch block JOptionPane.showMessageDialog(null, "Digite uma das Opcoes dadas"); } finally {JOptionPane.showMessageDialog(null, "Fim"); //opcional }
14. Conclusão Observamos que o estudo sobre Tratamento de Exceções é essencial, já que o mercado necessita de programas que apresentem a menor quantidade de falhas possíveis, sendo assim, este estudo é aplicável a uma grande gama de interessados Por fim, constatamos que a experiência de construir esta apresentação é de extrema importância para nós estudantes da Programação Orientada a Objetos, pois exercita os conceitos lógica e programação.