A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Excepções Conceito de Excepção A classe Exception

Apresentações semelhantes


Apresentação em tema: "Excepções Conceito de Excepção A classe Exception"— Transcrição da apresentação:

1 Excepções Conceito de Excepção A classe Exception
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 Lançamento de excepções Criação de excepções próprias

2 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. Fundamental para assegurar a efectiva robustez do código dos programas

3 Revisão análise algoritmo código aplicação 01001 Código Fonte Código
Compilador Detecção e Tratamento de Erros Erros de compilação ou erros de sintaxe São detectados pelo compilador Impedem o programa de começar a sua execução Erros de lógica Não são detectáveis pelo compilador e, muitas vezes, nem pelo sistema Dá origem a resultados incorrectos ou inesperados Têm de ser descobertos pelo programador Erros em tempo de execução São detectados pelo sistema quando o programa já está a correr Provocam a interrupção inesperada do programa Código Fonte Código Nativo

4 Tipos de erros em programação
Revisão compilação/sintaxe Tipos de erros em programação ? lógica tempo de execução

5 Introdução Programa robusto
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

6 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 Uma excepção é uma qualquer condição de erro ou comportamento imprevisto que ocorre durante a execução de um programa (suspende a sua execução) e requer a execução de código fora do fluxo normal do programa (tratamento).

7 A Classe Exception POO Exception Eu não preciso de saber tudo
-só onde encontrar o que preciso Exception

8 A Classe Exception 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)

9 A Classe Exception 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.

10 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

11 Gestão estruturada de excepções - Sintaxe

12 Como utilizar a instrução Try… Catch
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: Também é possível colocar um bloco catch sem especificar o tipo de excepção que se está a apanhar. Neste caso o bloco apanha toda e qualquer excepção que ocorra. Importante: As instruções Catch processam-se por ordem; por isso, é importante a ordem pela qual escrevemos as instruções Catch. Os blocos Catch destinados a excepções específicas devem ser colocados antes de um bloco Catch de uma excepção mais genérica, isto é, as classes mais derivadas (mais específicas) devem aparecer sempre primeiro do que as correspondentes classes base (genéricas).

13 Como utilizar o bloco Finally
Secção opcional; se presente, é sempre executada Exemplo: Finally - pode surgir após as cláusulas Try-Catch e define um conjunto de instruções a serem executadas após a execução do bloco Try, desde que pelo menos uma instrução deste tenha sido executada quer tenha ou não ocorrido uma excepção O código do Finally será sempre executado, surja ou não uma excepção em Try se foi detectada uma excepção em Try então é executado o bloco Catch e só depois o bloco Finally

14 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

15 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. Verificar todos os acessos a recursos externos ao programa (ficheiros, canais de comunicação, etc.) O método que decidirmos utilizar para controlar potenciais erros depende da frequência que esperamos que ocorra um determinado evento. Se o evento é realmente excepcional e é um erro (como um erro imprevisto de fim de ficheiro), utilizar a gestão de excepções é melhor. Se o evento ocorre de modo rotineiro, é melhor utilizar outro método para tratar o erro

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ções
Sintaxe: Palavra-chave Throw [ ] [ ]

18 Lançamento de Excepções
Exemplo1: Exemplo2:

19 Lançamento de Excepções
Aplicação prática do Exemplo1:

20 Lançamento de Excepções
Aplicação prática do Exemplo1: Olá Ocorre uma excepção!

21 Lançamento de Excepções
Aplicação prática do Exemplo1: - 12 Não ocorre excepção!

22 Lançamento de Excepções
Exemplo3: Classe Jogador

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 Criação de Excepções Próprias
Exemplo4: Cartão Amarelo

27 Criação de Excepções Próprias
Exemplo: Classe Jogador

28 Criação de Excepções Próprias
Exemplo: Botão Amarelo Simulador:


Carregar ppt "Excepções Conceito de Excepção A classe Exception"

Apresentações semelhantes


Anúncios Google