868318 SlidesCap8 1

2683 palavras 11 páginas
Referência base:
Capítulo VIII – Tratamento de Exceções
Linguagens de Programação.
Flávio Varejão
Editora Campus, 2004 http://www.inf.ufes.br/~fvarejao/livroLP.html Conceituação
Nem todas condições geradoras de erro podem ser detectadas em tempo de compilação
Software seguro e confiável deve implementar um comportamento aceitável na presença dessas condições anormais
Termo exceção designa um evento ocorrido durante a execução de um programa que desvia o fluxo normal
Uma exceção é uma condição provocada por uma situação excepcional a qual requer uma ação específica imediata
Exceções

Linguagens de Programação

2

Causas de Exceções
Exceções

Erros
Fluxo

 Erros Hardware

Hardware

Software
Múltiplos
Resultados

Falha no disco rígido

 Erros Software
Acesso a índice inexistente de vetor

 Múltiplos resultados
Leitura de registro ou fim de arquivo
Exceções

Linguagens de Programação

3

Abordagens de LPs para Exceções
Não oferecer recursos próprios

Tratamento por intermédio de mecanismos já existentes (testes, subprogramas e desvio incondicional)
COBOL, BASIC, C, PASCAL e MODULA-2

Possuir mecanismo de tratamento de
Exceções
Comandos específicos
Novo tipo de fluxo de execução
ADA, C++, JAVA e C#.

Exceções

Linguagens de Programação

4

Ausência de Mecanismo de Exceção
Opções
Deixar o programa abortar
Testar a condição excepcional antes de ela ocorrer e realizar o tratamento imediato Retornar código de erro indicando a exceção ocorrida em uma variável global, no resultado da função ou em um parâmetro específico
Exceções

Linguagens de Programação

5

Aborto
Reduz a confiança do usuário no sistema Dificulta a depuração dos erros
Muitas exceções podem ser contornadas sem que seja necessário interromper a execução do programa

Exceções

Linguagens de Programação

6

Teste e Tratamento Imediato
Carrega muito o texto do programa com código de tratamento

Obscuresce a funcionalidade do algoritmo com testes de exceções
Subprogramas para

Relacionados