CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. PROTOCOLO DE EXPERIMENTOS ATIVIDADE DE LABORATÓRIO 1. Titulo Prática sobre tratamento de exceções 2. Introdução Esse roteiro foi elaborado para servir de guia aos alunos na aula prática de desenvolvimento de software e Sistema de Informação, utilizando conceitos de Herança com ambiente integrado de desenvolvimento NetBeans. 3. Objetivos Propiciar aos alunos situações em que possam constatar, na prática, as teorias vistas em sala de aula. Essa prática deve ser realizada INDIVIDUALMENTE. Para essa pratica poderão ser utilizados alguns trechos de programas exemplos e os alunos terão liberdade para criarem outros programas, caso desejem, após as atividades obrigatórias. Para criação da aplicação utilizaremos o NetBeans 4. Base teórica Tratamento de exceções 5. Material necessário IDE NetBeans 5.1 ou superior 6. Iniciando os Trabalhos 1. Para iniciarmos essa aula prática, você deve acessar o programa NetBeans instalado em sua estação de trabalho. CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. Atividade 1 - Criando o ambiente da aplicação no NetBeans . Passo 1: Abra o NetBeans para que possamos criar o nosso projeto que chamaremos de FJA_Excecao. Clique no menu Arquivo e em seguida selecione Novo Projeto..., conforme ilustrado na figura abaixo. Quando for exibida a tela abaixo, selecione a categoria Java e projeto Aplicativo Java clique em Próximo CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. No campo Nome do projeto digite o nome do projeto, o nome do nosso projeto é FJA_Excecao. Faça com que sua tela fique como a imagem acima. Clique em Finalizar. O NetBeans criará uma estrutura de diretórios para uma aplicação Java conforme mostra na figura abaixo. CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. Também é criado automaticamente uma classe chamada Main.java que inicialmente não iremos utiliza-la. Agora Vamos efetuar nossa tarefa. Primeiro passo e criar uma classe de nome Zero.java, clique com o botão direito no pacote fja_excecao, selecione Novo -> Classe Java. Aparecerá a tela para criar o nome da classe. Informe o nome Zero (Não é necessário colocar a extensão .java o próprio netbeans se encarrega disso) Abaixo será descrito o método main: CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. public static void main(String[] args) { int numerador = 10; int denominador = 0; System.out.println(numerador / denominador); } A classe ficara com a seguinte aparência: Agora execute esta classe e observe o resultado !!!!!!!!! O que você consegue entender dos erros que foram gerados ????? CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. Agora utilizando o procedimento de criação de uma nova classe, crie uma classe chamada Divisao. public class Divisao { private int x, String tre; y, resultado; public Divisao(int x, int y) { this.x = x; this.y = y; } public void divide() { try { resultado = x / y; System.out.println("O resultado é " + resultado); return; } catch (ArithmeticException e) { System.out.println("O segundo valor não pode ser 0"); System.out.println(e.getMessage()); e.printStackTrace(); } finally { System.out.println("Fim!!"); } } } Pronto... Agora da mesma forma crie uma nova classe chamada de Testa para executar os métodos da classe Divide. public class Testa { public static void main(String args[]){ Divisao d = new Divisao(2, 0); d.divide(); } } CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. Execute a classe Testa e observe seu resultado. Experimente colocar em comentário a chamada para os métodos getMessage e printStackTrace, da classe Divide - - - um de cada vez, e observe o que acontece. Agora Faremos os devidos tratamentos para evitar erros que vimos no exemplo anterior Utilize o procedimento anterior para criar uma nova classe chamada Calc.java como vimos em sala de aula. Use os Slides apresentados em sala de aula para auxiliar na codificação. Na classe Calc.java fizemos com que ela lançasse uma exceção. Agora criaremos outra classe de nome DivPorZero para ser nossa classe personalizada que efetua o tratamento das exceções e que por motivo ela extends Exception CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. A classe terá a seguinte aparêncaia: Uma observação importante e atentar que o método toString e sobrecarregado !!!! Lembra o porquê isso? Muito bom.. agora usaremos a classe Testa para executar os métodos da classe Calc que por sua vez terá seu tratamento de exceções na classe DivPorZero. CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. Agora podemos, utilizar o método div e tratar a exceção, caso esta ocorra Execute novamente a classe Testa e verifique seu resultado. !!!!!! Se quiséssemos usar o método div sem tratar a exceção, deveríamos declarar que a exceção deve ser passada adiante para isso vamos criar um método chamado f() na classe testa. Como segue. static void f() throws DivPorZero { Calc calc = new Calc(); try { int div = calc.div(10, 0); System.out.println(div); } catch (DivPorZero e) { System.out.println(e); throw e; } } CURSO: Superior de Tecnologia em Desenvolvimento de Software e Sistema de Informação MÓDULO: CARGA HORÁRIA: 80 H HABILITAÇÃO: Programador de Aplicações Comerciais. AULA PRATICA – PROTOCOLO DE EXPERIMENTO Disciplina: Programação Orientada a Objetos Nº da Aula Prática Docente: Arleys Semestre/Turno: REFERÊNCIA: Aula de laboratório – Tratamento de exceções. Altera o método Main() para que execute o método f() que acabamos de criar. Análise os resultados e identifique de onde está vindo as mensagens !!!! Bons Estudos