Tratamento de Exceções

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

I/O Carlos Bazilio Depto de Ciência e Tecnologia
Construção de Algoritmos 2
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Reflexão Marco Antonio Arquiteto de Software Novembro/2007.
Sockets Marco Antonio – marcoreis.net Arquiteto de Software Dezembro/2007.
Entrada e Saída Marco Antonio Arquiteto de Software Dezembro/2007.
Marco A. S. Reis EJB Acesso Remoto Marco A. S. Reis
Prof. Thiago Pereira Rique
Programação orientada a objetos
Excepções Algoritmos e Tipos Abstractos de Informação (ATAI)
(C) 2010 Pearson Education, Inc. Todos os direitos reservados. Java Como Programar, 8/E.
(C) 2010 Pearson Education, Inc. Todos os direitos reservados. Os programas que obtêm certos tipos de recursos devem retorná-los ao sistema explicitamente.
Classes Concretas e Abstratas
Streams Java.
Membros estáticos.
Capítulo 15 Swing – Parte 1.
9 Controle de fluxo Seqüenciadores. Jumps. Escapes. Exceções.
Treinamento no GRADEp HelloWorld Args. Slide 2 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 HelloWorld e Args Autoria Autora.
Aula 10 Manipulação de Exceções
Excepções e Streams em Java
Introdução a Programação JAVA
Estrutura de Dados em Java
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Linguagem de Programação JAVA
CRIANDO OBJETOS EM JAVA
Gerenciamento de erros com Exceções em Java
JAVA: Conceitos Iniciais
Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Capítulo 2 Java Servlets.
Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Streams –input e output
Tecnologia para Web Tratamento de Exceções
Hashing - Espalhamento
Linguagem técnica de programação I Java
Chamada Remota de Procedimentos
Introdução a aplicativos Java
Desenvolvimento de Aplicações CORBA
Programação Orientada à Objetos
Capítulo 6 Exceções.
Professora Lucélia Oliveira
Prof. Roberto Rosa Aula 8.  A partir de agora vamos aprender como ver qual é o erro que está acontecendo em nosso projeto. Para.
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Linguagem II Exceções.
Paradigmas da Programação – Semestre 1 – Aula 10 Professor: Eduardo Mantovani )
Tratamento de Exceções
Programação Orientada a Objetos - Java
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Capítulo 6 Exceções.
Funções Matemáticas e de String
Estrutura de Controle em JAVA
Exceções Suzana Fragoso (smpf) Adaptado do material de Guilherme Carvalho (gvc)
Exceções Profa. Patrícia A. Jaques Alterada por Leandro Tonietto abr-15.
Implementação Orientada a Objetos – Aula 06 Conversão de tipos e métodos estáticos Prof. Danielle Martin Universidade de Mogi das Cruzes
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Java Conexão com Baco de dados Saulo Bazzi Oberderfer Fonte:
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Socket em Java.
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Exceções.
BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Laboratório de Programação II Método main Dados e Métodos de Classes.
Capítulo 15 – Tratamento de Exceções
Tratamento de Exceções. Roteiro O que são exceções? Quando usar Capturando Exceções Exemplos.
Transcrição da apresentação:

Tratamento de Exceções Linguagem Java

Tratamento de Exceções Exceções são erros que podem acontecer durante a execução de um programa. Estes erros podem e devem ser tratados (contornados) de modo a evitar que o programa termine de modo anormal! A estrutura try-catch-finally tem esta finalidade aliada a cláusula throws. Uso da estrutura try-catch-finally: Qualquer instrução, ou bloco de instruções, que possam gerar uma exceção (erro) devem ser reunidos num bloco try. Um bloco try, por sua vez, pode um ou vários blocos catch, conforme o grau de particularização dado ao tratamento dos erros; Cada programa só pode ter um bloco try por função. Havendo um bloco try, deve haver pelo menos um bloco catch, embora vários sejam permitidos. O bloco finally é opcional, mas se ocorrer deve ser único. Se houver um bloco finally ele será executado independentemente de ter ocorrido erro ou não. Se uma exceção é detectada num bloco try, o programa será imediatamente desviado para o bloco catch correspondente à exceção gerada.

Uso da estrutura try-catch-finally - As exceções são nomeadas segundo o seu tipo, por exemplo:   NumberFormatException (erros de formato de dados) ArithmeticException (divisão por zeros entre inteiros) IOException (erros de E/S de dados) ArrayIndexOutOfBounds (indexação fora dos limites do vetor) InterruptedException ( erro de interrupção) Exception (exceção genérica, isto é, não particularizada)

Uso da estrutura try-catch-finally

Estrutura try-catch-finally Estrutura try-catch: try{ <bloco de instruções> } catch (<nome da exceção 1>){ <tratamento da exceção 1> catch (<nome da exceção 2>) { <tratamento da exceção 2> ... catch (<nome da exceção n>) { <tratamento da exceção n> finally{ <instruções finais>

Exemplo: import javax.swing.*; public class Ex_try_catch_finally{ public static void main(String args[]){ int n1, n2; String aux=JOptionPane.showInputDialog(null, "Informe um valor inteiro"); try{ n1=Integer.parseInt(aux); //transforma em inteiro o valor digitado em aux aux=JOptionPane.showInputDialog(null, "Informe outro valor inteiro"); n2=Integer.parseInt(aux); //idem JOptionPane.showMessageDialog(null, "Produto = " + (n1*n2)); JOptionPane.showMessageDialog(null, "Divisão = " + (n1/n2)); } catch (NumberFormatException e) { //trata erros de formato de numeros JOptionPane.showMessageDialog(null, "Erro na entrada de dados"); } catch (ArithmeticException e) { //Divisão por zero JOptionPane.showMessageDialog(null, "Divisão por zero"); } finally { JOptionPane.showMessageDialog(null, "****Final de execução****");

Uso da cláusula throws Certas operações (instruções) requerem tratamento de exceção, caso contrário o programa nem compila. O correto seria inserir no programa um bloco try-catch com esta finalidade, mas caso o programador não deseje realizar este tratamento, deve explicitar isto através da cláusula throws. Exemplo: import java.io.*; class IgnoraErro{ public static void main(String args[]) throws IOException { //descarta o erro BufferedReader dado; //tipo de dado que será buferizado durante a leitura System.out.println("entre com seu nome"); dado=new BufferedReader(new InputStreamReader(System.in)); System.out.println("Seu nome eh " + dado.readLine()); }

Uso do getMessage e printStackTrace Quando precisamos saber qual foi o erro e em que linha ocorreu podemos recorrer a este 2 métodos. O método getMessage retorna uma string informando a exceção ocorrida O método printStackTrace retorna o tipo de exceção e em que linha do programa ocorreu

Exemplo 1.class TipodeErro { 2. public static void main(String args[]){ 3. int x=10, y=0, z=0; 4. try{ 5. z=x/y; // gera uma arithmetic exception (divisão por zero) 6. } 7. catch(Exception erro) { //exceção genérica!!! 8. System.out.println(erro.getMessage()); //mostra a mensagem de erro 9. erro.printStackTrace(); //mostra a exceção e a linha onde ocorreu 10. } 11. } 12. }

Resultado da execução do programa Linha do programa onde ocorreu o erro Tipo de erro Mensagem de erro (getMessage)