Post on 22-Apr-2015
Excepções
Conceito de Excepção
Gestão estruturada de excepções
Como utilizar a instrução Try… Catch
Como utilizar o bloco Finally
Directrizes para o uso de excepções
A classe Exception
Criação de excepções próprias
Lançamento de excepções
Objectivos
Conhecer e utilizar os mecanismos de gestão estruturada de excepções do VB
•Definir excepção;
•Conhecer as principais excepções predefinidas do VB;
•Conhecer a sua sintaxe;
•Gerir erros de execução utilizando a nova rotina de tratamento de
erros “Try…Catch”;
•Utilizar as principais excepções predefinidas no VB;
•Saber quando deve implementar este método de gestão de erros;
•Reconhecer a utilidade da gestão estruturada de excepções;
•Conhecer e aplicar o conceito de lançamento de excepções, no
contexto do desenvolvimento de aplicações em VB.
Revisão
CódigoFonte
CompiladorCompilador
CódigoNativo
01001
códigoalgoritmoanálise aplicação
Det
ecçã
o e
Tra
tam
ento
de
Err
os
compilação/sintaxe
lógica
tempo de execução
Revisão
Tipos de errosem programação
Introdução
– programa que se mantêm em execução mesmo nas situações em que surgem erros inesperados em modo run-time
– para tal o próprio programa (através de instruções especiais) é capaz de capturar tais situações de erro e realizar o seu adequado tratamento (correcção e recuperação) evitando que o programa termine
• O mecanismo que forma a base da robustez do código dos programas VB– o seu sistema de gestão estruturada de excepções
Programa robusto
O conceito de excepção
Uma excepção (Exception) é
– um sinal gerado pela framework .NET (em tempo de execução) e que é
comunicado ao programa indicando a ocorrência de um erro recuperável
– é um evento que ocorre durante a execução de um programa que altera o fluxo
normal de execução das instruções
Exemplos: escrita em disco cheio ou ficheiros não existentes
Um erro (Error) é:
– uma situação para a qual nenhuma recuperação é possível, i.e., ocorrência de
um erro não recuperável
– O interpretador limita-se a enviar uma mensagem de erro e a terminar a
execução do programa
A Classe Exception
ExceptionException
Eu não preciso de saber tudo-só onde encontraro que preciso
POO
A Classe Exception
• Hierarquia de
classes de
excepções
(Exception é a
classe base)
• Todas as excepções
são instâncias da
respectiva classe de
Excepção
(Exception)
ExceptionException
A Classe ExceptionExceptionException
Propriedades
Propriedade
Message Devolve uma mensagem de texto que descreve a excepção. Utilizar esta propriedade para recuperar informação sobre o porquê de se ter lançado uma excepção.
HelpLink Devolve ou define a ligação para um ficheiro de ajuda com mais informação sobre a excepção.
Source Devolve ou define o nome do objecto (ou aplicação) que deu origem à excepção.
Gestão estruturada de excepções
• O mecanismo de excepções do VB permite definir:– quais as excepções que devem ser detectadas num dado contexto do
programa
– quais as acções que devem ser executadas em tais situações, ou seja, quando é lançada uma excepção pelo sistema
• O mecanismo de captura e tratamento de excepções utiliza as palavras-chave:
Try | Catch | Finally
Gestão estruturada de excepções - Sintaxe
Como utilizar a instrução Try… Catch
Try• contém a secção de código que desejamos monitorizar. • bloco de código que pode originar excepções
Catch
• identifica a excepção que pode ocorrer no bloco try,• é seguida por um bloco de instruções a executar para recuperar da excepção• podemos ter um try seguido de n catch (associações try-catch de 1 para n)
Exemplo:
Como utilizar o bloco Finally
Exemplo:
• Secção opcional; • se presente, é sempre executada
Vantagens
Separação do código para tratamento de erros do código normal da aplicação
Facilita: Leitura Depuração Manutenção do código
Agrupamento e diferenciação de erros por tipo
Directrizes de utilização
• Não utilizar a gestão estruturada de excepções para erros que se produzem de modo rotineiro
• Ordenar os blocos Catch desde o mais específico ao mais genérico
• Esta técnica controla a excepção específica antes de passar a um bloco Catch mais genérico.
16
Lançamento de Excepções• Suspensão da execução da aplicação determinada pelo programador num determinado ponto do código;
• utilizado quando são quebradas as regras de negócio ou da aplicação impostas pelo SI que se pretende descrever.
17
Lançamento de ExcepçõesSintaxe:
1ª
2ª
Palavra-chave Throw
[ ]
[ ]
18
Lançamento de ExcepçõesExemplo1:
Exemplo2:
19
Lançamento de ExcepçõesAplicação prática do Exemplo1:
20
Lançamento de Excepções
Olá
Ocorre uma excepção!
Aplicação prática do Exemplo1:
21
Aplicação prática do Exemplo1:
Lançamento de Excepções
- 12
Não ocorre excepção!
22
Exemplo3: Classe JogadorLançamento de Excepções
23
Criação de Excepções Próprias
Sintaxe:
ClasseException - classe Exception ou uma das suas classes derivadas: ApplicationException, IOException,
SystemException,...ApplicationException
24
Criação de Excepções Próprias
Sintaxe (tratamento):
.
Terá um Catch próprio!!!
25
Criação de Excepções Próprias
Excepção própria/personalizada é:
• Classe criada pelo programador que deriva da classe Exception ou de uma das suas classes derivadas.
• permite usufruir de todas as funcionalidades da classe base e acrescentar-lhe novas funcionalidades.
26
Exemplo4: Cartão Amarelo
Criação de Excepções Próprias
27
Criação de Excepções Próprias
Classe Jogador
Exemplo:
Exemplo:
28
Simulador:
Criação de Excepções Próprias
Botão Amarelo