Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.

Slides:



Advertisements
Apresentações semelhantes
Python: Funções Claudio Esperança.
Advertisements

Python: Dicionários Claudio Esperança.
Programação em Java Prof. Maurício Braga
Reflexão Marco Antonio Arquiteto de Software Novembro/2007.
Tratamento de Exceções
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS TRATAMENTO DE EXCEÇÕES
Sistemas de Informação Redes de Computadores
(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.
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
Introdução à Computação - Jorge Macêdo
Exceptions em Java Leonardo Freitas e
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Estrutura de Dados em Java
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Introdução a linguagem Python
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.
Python: Exceções, Iteradores e Geradores
Linguagens de Programação
Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Conceitos básicos de orientação a objetos
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Programação Avançada Prof. Natalia Castro Fernandes
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
FTIN Formação Técnica em Informática
Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tecnologia para Web Tratamento de Exceções
Programação Orientada à Objetos
Erick Luis Moraes de Sousa
Capítulo 6 Exceções.
Prof. Roberto Rosa Aula 8.  A partir de agora vamos aprender como ver qual é o erro que está acontecendo em nosso projeto. Para.
SISTEMAS OPERACIONAIS I
Excepções Conceito de Excepção A classe Exception
Linguagem II Exceções.
Paradigmas da Programação – Semestre 1 – Aula 10 Professor: Eduardo Mantovani )
Tratamento de Exceções
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Análise Léxica Prof. Alexandre Monteiro
Capítulo 6 Exceções.
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.
Acabias Marques Luiz. I - Introdução ao Ruby Parte 1 – Introdução a linguagem  O que é Ruby  Instalação  O IRB  Operadores Aritméticos  Tipos de.
Introdução/Pesquisar/Alterar Etapa1 Vamos começar o acompanhamento do módulo pelo menu "Acesso Rápido"-> Atendimento. Clique no icone "Atendimento".
Introdução à Programação
Prof. Msc Roberta Andrade
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Exceções.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2.
Prof. Renato de Oliveira Bastos
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Shell Script Parte 2.
Programação para Web I AULA 4 ESTRUTURAS DE CONTROLE.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
Capítulo 15 – Tratamento de Exceções
Tratamento de Exceções. Roteiro O que são exceções? Quando usar Capturando Exceções Exemplos.
“Nature provides exceptions to every rule.“ - Margaret Fuller 3 – Exceções.
Variáveis, expressões e comandos Dilvan Moreira. Lembrando …  Instalação normal (para utilizar no PC com Windows) 
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Recursividade, Entrada pelo teclado e Funções com retorno Dilvan Moreira.
Python: Exceções, Iteradores e Geradores
Python: Exceções, Iteradores e Geradores
Transcrição da apresentação:

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012

Exceções Ocorrem quando algum evento não desejado ocorre Erros não previstos Eventos esperados, mas não desejados Se uma exceção ocorre e não é tratada, o programa termina emitindo uma mensagem

Classes de exceções O Python define algumas classes de exceções Exception Classe Base para todas as exceções AttributeError Falha no acesso ou atribuição a atributo de classe IOError Falha no acesso a arquivo inexistente ou outros de E/S IndexError Índice inexistente de sequência KeyError Chave inexistente de dicionário

Classes de exceções O Python define algumas classes de exceções NameError Variável inexistente SyntaxError Erro de sintaxe (código errado) TypeError Operador embutido aplicado a objeto de tipo errado ValueError Operador embutido aplicado a objeto de tipo certo mas valor inapropriado ZeroDivisionError Divisão ou módulo por zero

Exercício Entre no interpretador e gere cada um dos erros anteriores.

Classes de exceção O usuário também pode criar suas próprias classes de exceção Serão chamadas em pontos do código especificados pelo usuário Quando uma exceção ocorre, diz que o programa gerou uma exceção (raise) Um programa bem feito deve ser capaz de capturar (catch) todas as exceções que possam ser geradas Evita que o programa termine com uma mensagem de erro inesperada

Classes de exceções O Python também define uma classe para tratar warnings Warnings são avisos que devem ser observados, mas que não são suficientemente graves para gerar um erro Warnings também podem ser definidos pelo usuário

Tratando exceções com try/except Se um trecho de código pode gerar uma exceção, mas você não quer que o programa termine, é possível tratar com o try/except Uso: try: Comandos except: comandos

Exemplos Essa clausula pega qualquer tipo de exceção e retorna a mesma mensagem.

Exemplos Tratando separadamente diversos tipos de exceção

Exemplos Agrupando erros

Exemplos Usando o erro gerado pelo Python Palavra chave para não fazer nada Variável para pegar a mensagem de erro padrão

Gerando exceções em seu código Para gerar uma exceção, use o comando raise Uso raise classe raise classe, mensagem raise classe (mensagem) Classe de exceção Listagem de classes de exceção definidas pelo Python disponível no manual ou digitando: import exceptions print dir(exceptions)

Exemplos

Criando uma classe de exceções Basta criar uma classe normal, a qual herda de uma classe de exceção

Exemplos

Clausula else O comando try pode ser terminado com uma cláusula else O código do else só é executado na ausência de exceção no bloco try Uso try: Código except Exceções: Código de tratamento da exceção else: Código executado se não ocorrem exceções

Clausula finally A cláusula finally sempre é executada, acontecendo exceção ou não Pode ser usada para restabelecer alguma variável para um valor default, por exemplo

Exemplo

Exercício Gere uma função que escolhe um número inteiro entre 0 e 10 aleatoriamente. O usuário poderá entrar com números até acertar o valor escolhido. Nesse caso, o programa termina com uma mensagem de sucesso. Caso o usuário acerte de primeira, o programa deve gerar uma exceção com a mensagem Você tem poderes psíquicos, gerar um novo número e continuar o processo. Nenhuma outra exceção deve terminar o programa ou escrever uma mensagem na tela. (Use try, except, else e raise)