INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS
|
|
|
- Giuliana Aranha Gil
- 9 Há anos
- Visualizações:
Transcrição
1 INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa [email protected]
2 Programa Capítulo 9 Tratamento de Exceções Assertivas
3 Programa Capítulo 9 Tratamento de Exceções Assertivas
4 Exceções Exceções são condições anormais, possivelmente erros, que devem ser tratadas pelo programa de aplicação; Linguagens como C++ e Java fornecem suporte para o tratamento sistemático de exceções; Tais mecanismos permitem separar o código relativo ao tratamento de exceções do resto do código da aplicação.
5 Exemplos de situações anormais Erros de lógica de programação: Devem ser corrigidos pelo programador; Exemplos: (a) limite do vetor ultrapassado; (b) divisão por zero; Erros devido a condições do ambiente de execução: Fogem ao controle do programador, mas podem ser contornados; Exemplos: (a) arquivo não encontrado; (b) conexão não estabelecida; Erros graves, onde não há recuperação: Fogem ao controle do programador e não podem ser contornados; Exemplos: (a) falta de memória; (b) erro interno da JVM.
6 Tipos de exceção de Java De um modo geral, as exceções podem ser classificadas segundo o seguinte critério: As geradas pelo run-time de Java; As geradas explicitamente pelo programador (checked Exceptions). Em ambos os casos, um objeto contendo informações sobre a exceção será instanciado; Tal objeto irá pertencer a uma das classes da hierarquia mostrada a seguir:
7 Hierarquia de exceções
8 Tratamento de exceções em Java A linguagem Java permite o tratamento sistemático de exceções através do comando try; Um comando try deve envolver um bloco de código que pode levantar uma exceção; Ele deve ser seguido por: Um ou mais blocos catch(<tipodeexcecao> e); Um bloco finally (opcional).
9 Exemplo try...catch try // código da aplicação // pode levantar uma exceção catch (TipoExcecao1 ex) // código para o tratamento da exceção catch (TipoExcecao2 ex) // código para o tratamento da exceção catch (Exception ex) // código para o tratamento da exceção // captura qualquer exceção // código da aplicação - continuação
10 Dinâmica do mecanismo try...catch O código contido em um bloco try levanta uma exceção; Um objeto contendo informações sobre a exceção é instanciado; O fluxo de execução desce pelos blocos catch até encontrar um que declare tratar a exceção; O bloco catch é executado; O bloco finally é executado, caso exista um; O código que segue o mecanismo try...catch é executado, caso não exista um return no bloco que tratou a exceção.
11 try...catch Observações (1) O bloco catch executado será aquele cujo parâmetro for da mesma classe ou de uma classe ancestral da exceção levantada; Apenas um dos blocos catch será executado; Não pode existir código algum entre o bloco try e o primeiro bloco catch; Não pode existir código algum entre dois blocos catch;
12 try...catch Observações (2) O bloco try deve ser seguido por pelo menos um bloco catch, ou por um bloco finally; Caso um catch mais genérico (ex: catch(exception e)) apareça antes de um mais específico, o bloco mais específico jamais será executado; O compilador detecta a situação acima e sinaliza o erro; Para tratar uma exceção qualquer construa um catch que capture uma exceção do tipo Exception; Esta técnica, entretanto, deve ser usada como um último recurso, e não para substituir os tratamentos das exceções específicas.
13 O bloco finally O bloco finally contém instruções que devem ser executadas independentemente da ocorrência ou não de exceções. try // instruções executadas até linha onde ocorrer exceção catch (TipoExcecao1 ex) // executa somente se ocorrer TipoExcecao1 catch (TipoExcecao2 ex) // executa somente se ocorrer TipoExcecao2 finally // executa sempre este bloco // executa se exceção for trata ou se não ocorrer exceção
14 Mensagem da exceção Dentro de um bloco catch pode-se ter acesso à mensagem explicativa do motivo da exceção; Isso é feito através do método getmessage(): try... throw new NovaExcecao("O Brasil venceu mais uma"); catch(novaexcecao e) System.out.println(e.getMessage());
15 Seqüência de eventos (1) Quando uma exceção é levantada, o fluxo normal do programa é interrompido e os passos seguintes são executados: O fluxo do programa segue a exceção; Caso ela não seja tratada no método onde ela foi levantada, ela será propagada para o método que chamou o método gerador da exceção, e assim por diante. Caso nenhum método trate a exceção levantada, ela irá causar o término da aplicação; A figura a seguir ilustra o que foi dito acima:
16 Seqüência de eventos (2)
17 Checked Exceptions (1) Para gerar um checked exception é necessário, primeiro, estender java.lang.exception: class NovaExcecao extends Exception Pode-se acrescentar variáveis de instância e métodos à classe de exceção, como em qualquer outra classe; Deve-se fornecer dois construtores para uma classe de exceção: public class NovaExcecao extends Exception public NovaExcecao() public NovaExcecao (String mensagem) super(mensagem);
18 Checked Exceptions (2) O passo seguinte é criar (new) e depois lançar (throw) a exceção: NovaExcecao e = new NovaExcecao( A Argentina Ganhou!!!!"); throw e; // exceção lançada A referência é desnecessária. A sintaxe abaixo é mais usual: throw new NovaExcecao( A Argentina Ganhou!!!!");
19 Exceções e métodos (1) Caso uma exceção seja explicitamente levantada no interior de um método, uma das medidas a seguir tem que ser tomada: (a) tratar a exceção no próprio método; try... throw new NovaExcecao(); catch (NovaExcecao ex)......
20 Exceções e métodos (2) (b) não tratar a exceção localmente e declarar que o método pode levantar uma exceção do tipo declarado (ou de qualquer subtipo). public void m1() throws NovaExcecao, Excecao2... A palavra reservada throws declara que o método m1() pode levantar uma das exceções declaradas.
21 Relançamento de uma exceção Às vezes, após tratar uma exceção, é desejável relançá-la para que outros métodos lidem com a mesma; Isto pode ser feito da seguinte forma: public void metodo() throws ExcecaoSimples try // instruções catch (ExcecaoSimples ex) // faz alguma coisa para lidar com a exceção throw ex; // relança exceção
22 Programa Capítulo 9 Exceções Assertivas
23 Assertivas As assertivas foram introduzidas no JDK 1.4 com o objetivo de auxiliar os programadores a encontrar erros em programas (debugging); Um assertiva é uma declaração que pode ser verdadeira ou falsa; Devemos usar assertivas apenas para detectar erros fatais aqueles não podem ser tratados e que irão encerrar a aplicação. Podemos espalhar assertivas em determinados pontos de um programa para testarmos se certas condições são verdadeiras ou não; Se a declaração for falsa a assertiva levanta uma condição de erro (java.lang.error).
24 O comando assert O comando assert possui duas formas: assert <expressaobooleana>; assert < expressaobooleana> : <expressao>; Caso a expressão booleana seja falsa uma condição de erro do tipo java.lang.assertionerror será levantada; Na segunda forma, uma mensagem pode ser passada para o construtor da classe AssertionError;
25 O comando assert Exemplo import java.util.scanner; public class Main public static void main(string[] args) Scanner s=new Scanner(System.in); System.out.println("Informe um inteiro\n"); int x=s.nextint(); System.out.println("Informe um inteiro\n"); int y=s.nextint(); assert y!=0.0 : "Denominador igual a zero"; System.out.println("x/y="+(x/y));
26 Execução da aplicação Após a compilação da classe Ex, podemos executar a aplicação, como é mostrado na figura abaixo: Veja que o comando assert não teve nenhuma influência no resultado da execução.
27 Comando java -ea Precisamos habilitar as assertivas para que elas tenham efeito (opção -ea no comando java):
28 INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa [email protected]
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho [email protected] Programa Capítulo 9 Tratamento de Exceções Assertivas 1 Programa Capítulo 9 Tratamento
O tratamento de erros em Java
Exceções JAVA O tratamento de erros em Java É um dos mecanimos mais poderosos para tratar os chamados runtime errors, de modo a que o fluxo normal do programa possa ser mantido. https://techterms.com/definition/runtime_error
Tratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo
Tratamento de Exceções LPG II Java Tratamento de Exceções Introdução Princípios do tratamento de exceções em Java Cláusula try Cláusula catch Cláusula finally Hierarquia de exceções em Java Considerações
Programação Orientada a Objetos
Programação Orientada a Objetos Prof. Kléber de Oliveira Andrade [email protected] Tratamento de Exceções Quem pensa pouco, erra muito Leonardo da Vinci Exceções!!! 12/09/2011 Prof. Kléber de Oliveira
Tratamento de Exceções em Java
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Tratamento de Exceções em Java Professor: César Melo Slides baseados em materiais preparados pela Profa.
Tratamento de Exceções. Java Avançado. Tratamento de Exceções. Conceito de Exceções. Exemplo
Tratamento de Exceções Java Avançado Tratamento de Exceções Roberto Vedoato [email protected] Introdução Princípios do tratamento de exceções em Java Cláusula try Cláusula catch Cláusula finally
Tratamento de Exceções
Tratamento de Exceções Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 10 Tratamento de Exceções 1 Conceito Robustez: capacidade de um software continuar seu processamento mesmo sob condições anormais;
Tratamento de Exceções cont. Profa. Thienne Johnson EACH/USP
Tratamento de Exceções cont. Profa. Thienne Johnson EACH/USP Java, como programar Deitel & Deitel Capítulo 14 continuação Todas as classes de exceção de Java herdam, direta ou indiretamente, da classe
Tratamento de Exceções
Tratamento de Exceções Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Introdução Exceções São eventos que
Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
9 Exceções. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza
Desenvolvimento OO com Java 9 Exceções Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito
Tratamento de Exceções. Prof. Leonardo Barreto Campos 1
Tratamento de Exceções Prof. Leonardo Barreto Campos 1 Sumário Introdução; Tratamento de Exceções Java; Hierarquia de Exceções Java; Bloco finally - Java Bibliografia; Prof. Leonardo Barreto Campos 2/24
Programação Orientada a Objetos SANTOS, Rafael (PLT)
Programação Orientada a Objetos SANTOS, Rafael (PLT) Possibilita atribuições em sequência na mesma instrução Retorna o valor atribuído Atribuições compostas: incluem a própria variável: +=, *=, -=, etc
JAVA. Tópicos Especiais de Programação Orientada a Objetos. sexta-feira, 28 de setembro de 12
JAVA Tópicos Especiais de Programação Orientada a Objetos 1 TRY CATCH 2 O que fazer quando algo inesperado acontece? 3 O que fazer quando algo inesperado acontece? Com JAVA podemos nos prevenir!!! 3 O
Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira
Tratamento de Erros Sérgio Luiz Ruivace Cerqueira [email protected] Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:
Notas de Aula 09: Tratamento de exceções
Notas de Aula 09: Tratamento de exceções Objetivos da aula: Compreender o conceito de exceção Aprender a tratar exceções nos programas Entender a hierarquia das exceções Criar e lançar uma exceção proprietária
Tratamento de Exceção. Tratamento de Exceções. Vantagens de TE. Exemplos de Exceções. Exemplo: Divide1 (sem TE)
DCC / ICEx / UFMG Tratamento de Exceção Tratamento de Exceções Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Uma exceção é uma indicação de problema na execução do programa Exceção foge ao fluxo
Tratando exceções em Java
Página 1 de 9 En Tecnologias Revistas Cursos Pocket videos DevWare Fórum Serviços Publicar Comprar Bem vindo a DevMedia! LOGIN: SENHA: Esqueci minha senha Cadastre-se post favorito comentários Tratando
Tratamento de Exceções. Profa. Thienne Johnson EACH/USP
Tratamento de Exceções Profa. Thienne Johnson EACH/USP Java, como programar Deitel & Deitel Capítulo 14 Uma exceção é uma indicação de um problema que ocorre durante a execução de um programa O tratamento
Mecanismo de exceções em Java
Mecanismo de exceções em Java (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira ([email protected]) Conceito de exceção Erro de execução provocado por condição
Programação Orientada a Objetos. Manipulação de Exceções
Programação Orientada a Objetos Manipulação de Exceções Cristiano Lehrer, M.Sc. Introdução à Manipulação de Exceções (1/2) Em uma linguagem sem manipulação de exceção: Quando ocorre uma exceção, o controle
AULA TEÓRICA 3. Tema 4. Excepções Ø Tratamento de excepções
AULA TEÓRICA 3 Tema 4. Excepções Ø Tratamento de excepções 1 Excepções Uma excepção é um evento que ocorre durante a execução de um programa que interfere no fluxo normal das instruções deste programa.
terminar o programa; retornar um valor de erro indicando falha; retornar e ignorar o problema; chamar uma função para tratar o erro, etc...
Exceções Componentes robustos Problemas comuns Sistemas de tratamento de exceções Tratando exceções Classes de exceções Disparando exceções Criando novas classes de exceções Componentes robustos Componentes
[Desenvolvimento OO com Java] Exceções e controle de erros
Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] Exceções e controle de erros Este obra está licenciada com uma
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }
Java e sua Sintaxe Java e sua Sintaxe Estrutura mínima de um programa em Java: public class Exemplo { } Como todo programa deve ter um início, convenciona-se que a primeira ação de um programa é a execução
LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz
LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO Estruturas de repetição Estrutura de repetição nada mais é que laços de repetições. Laços de repetições permitem que um conjunto de instruções seja repetido
Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java
Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão
Tratamento de Erro e Javadoc. Professor: Norton T. Roman
Tratamento de Erro e Javadoc Professor: Norton T. Roman Tratamento de Erro import java.lang.string; import java.io.bufferedreader; import java.io.inputstreamreader; import java.lang.integer; O que vai
Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Exceções. SCC0504 Programação Orientada a Objetos. Luiz Eduardo Virgilio da Silva ICMC, USP
SCC0504 Programação Orientada a Objetos Exceções Luiz Eduardo Virgilio da Silva ICMC, USP Parte do material foi obtido com os professores: José Fernando Junior (ICMC/USP) Sumário Introdução Tipos de exceção
Java Standard Edition (JSE)
Java Standard Edition (JSE) 10. Controle de Exceções Esp. Márcio Palheta Gtalk: [email protected] 1 Ementa 10. Controle de Exceções; 11. O pacote java.lang; 12. O pacote java.io; 13. Collection
Variáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
LÓGICA DE PROGRAMAÇÃO (JAVA) VARIÁVEIS. Professor Carlos Muniz
LÓGICA DE PROGRAMAÇÃO (JAVA) String String é uma classe contida no pacote java.lang e que descende da classe java.lang.object. De forma conceitual podemos dizer que é uma sequência de caracteres usada
Tipos de dados e comandos POO
Tipos de dados e comandos POO Prof. Marcio Delamaro 1/46 Objetivo Vamos ver quais são os tipo de dados primitivos da linguagem Vamos ver quais são os principais comandos 2/46 Tipos Tipo Tamanho int 4 bytes
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes
Aula 08 Estruturas de Condição Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Entrada de Dados; Estruturas de Controle: Estrutura de Sequência;
Programação Orientada a Objetos JAVA - NETBEANS
Programação Orientada a Objetos JAVA - NETBEANS Agenda Interface Enum Collections Inteface Vamos começar relembrando de herança, polimorfismo e a palavra chave abstract: Inteface Vamos começar olhando
Lógica de Programação e Algoritmos
Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 4 Estruturas de Dados Homogêneas Vetores e Matrizes Conteúdo: 4.1 Variáveis compostas homogêneas... 55 4.2 Vetores... 56 Exercícios
Linguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Tipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Tipos, Literais, Operadores
Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não
Linguagem Java - Introdução
Linguagem Java - Introdução Identificadores válidos resultado teste01 _numeroclientes $fortuna Identificadores Identificadores inválidos 101dalmatas 34 #x Palavras reservadas abstract assert*** boolean
Erros, exceçõ. ções e asserçõ
Java 2 Standard Edition Erros, exceçõ ções e asserçõ ções Helder da Rocha www.argonavis.com.br 1 Controle de erros com Exceções Exceções são Erros de tempo de execução Objetos criados a partir de classes
Programação Orientada a Objetos Classes e Objetos. Prof. Vicente Paulo de Camargo
Programação Orientada a Objetos Classes e Objetos Prof. Vicente Paulo de Camargo A Programação Orientada a Objetos (POO) surgiu no final da década de 60 com a linguagem Simula-68. Os conceitos de POO foram
Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 2º PERÍODO - 4º MÓDULO AVALIAÇÃO MP1 DATA 06/11/2008 PROGRAMAÇÃO Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO
