visual basic 2010 - (05) tratamento de exceções

Post on 21-Dec-2014

1.991 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Visual Basic.NET é uma linguagem de programação totalmente orientada a objetos e com suporte total a UML, criada pela Microsoft e distribuída com o Visual Studio .NET.O Visual Basic.NET é um produto extremamente diferente do antigo Visual Basic 6.0, não podendo ser considerada uma versão seguinte. Não apenas a maneira de programar foi alterada, mas todo conceito de orientação a objetos trouxe poder para a linguagem. A Microsoft simplesmente descontinuou o antigo Visual Basic 6.0 tornando o produto parecido com as demais linguagens do Visual Studio, parecido em questões de recursos e portabilidade pois o Visual Basic.NET ainda é muito diferente de liguagens como o Visual C++, C#, etc. Porém esta nova versão aproximou o Visual Basic.NET das grandes linguagens de programação, aumentando a aceitação dos programadores Java e até mesmo C++, embora os programadores Java que migram para a plataforma .NET da Microsoft prefiram o C#.Apesar da linguagem ser parecida com o antigo Visual Basic 6.0 a migração para a nova plataforma e utilização do Visual Basic.NET é mais fácil para programadores que utilizam linguagens orientada a objeto. Os programadores do antigo Visual Basic 6.0 acostumados com a orientação a eventos encontram algumas dificuldades na utilização do Visual Basic.NET.Os desenvolvedores podem criar uma ampla gama de aplicativos Web, móveis, do Windows e do Office, com a mesma base .Net Framework, que tem atualmente a versão 4.0.

TRANSCRIPT

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 1

Microsoft Visual Basic 2010

Tratamento de Exceções

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 2

Objetivos

Exceções. Tratamento de Exceções Estruturadas. Tipos de Exceção. Bloco Try...End Try. A seção Catch. Blocos Try...End Try Aninhados. A seção Finally. Lançamento de Exceções.

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 3

Exceção

Exceção é um erro no fluxo normal de execução do código de um programa de uma aplicação. O.NET framework oferece uma forma unificada de identificar e tratar exceções entre todas as linguagens de programação .NET (BALENA, 2006).

Há dois tipos de exceções: exceções de hardware e exceções de software. As exceções de hardware são causadas por erros do programa no que se refere a hardware como, por exemplo, violação de acesso a endereços de memória. Enquanto as exceções de software são causadas por erros do programa no que se refere a software como, por exemplo, atribuir um valor incompatível a uma variável ou divisão por zero (MACKENZIE e SHARKEY, 2003).

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 4

Tratamento de Exceções Estruturadas

O tratamento de exceções estruturadas (Structured Exception Handling - SEH) é uma estratégia para codificar o programa de uma aplicação para tratar tanto as exceções de hardware quanto as exceções de software.

Dessa forma, o código para tratamento de exceções se torna unificado e mais consistente por tratar tanto as exceções de hardware quanto as exceções de software.

Seções do código que estiverem propensas a gerarem exceções como, por exemplo, cálculos, acesso a banco de dados, operações com arquivos etc. (MACKENZIE e SHARKEY, 2003).

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 5

Tipos de Exceções

Os tipos de exceções derivam da classe System.Exception que é definida no .NET framework.Os principais tipos de exceção são: ArgumentException; ArgumentNullException; ArgumentOutOfRangeException; IndexOutOfRangeException; NotImplementedException; OutOfMemoryException; OverflowException; FileNotFoundException.

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 6

O Bloco Try ... End Try

As palavras-chave Try... End Try delimitam o bloco de códigos protegido para tratar as exceções que ocorrerem, onde Try delimita o início do bloco e End Try delimita o final do bloco.A sintaxe é:

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 7

A seção Catch

A palavra-chave Catch marca a seção do bloco que captura e trata as exceções que podem eventualmente ocorrer.  Em geral, usa-se uma seção Catch para capturar cada tipo de exceção e uma seção Catch, chamada genérica, no final para capturar todos os demais tipos de exceções que não foram capturados pelas seções Catch anteriores.A sintaxe é:

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 8

A seção Catch

O exemplo a seguir declara a variável i do tipo Decimal e atribui o valor 10. Declara a variável j do Decimal e atribui o valor zero. Define a divisão de i por j sem captura e tratamento de exceção, que ao ser executado é abortado por gerar uma exceção de divisão por zero (DivideByZeroException).

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 9

A seção Catch

A imagem mostra a janela de exceção de divisão por zero sem tratamento, apresentada ao se executar o programa pelo IDE do Visual Basic 2010 Express.

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 10

A seção Catch

O exemplo a seguir foi modificado para realizar a captura e o tratamento da exceção genérica, ou seja, de qualquer tipo de exceção.

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 11

A seção Catch

A imagem mostra a mensagem exibida pela seção de tratamento de exceção genérica do programa.

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 12

A seção Catch

O exemplo a seguir foi modificado para na primeira seção Catch capturar e tratar a exceção DivideByZeroException e na segunda seção Catch capturar e  tratar uma exceção genérica, ou seja, qualquer tipo de exceção.

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 13

A seção Catch

Ao executar o programa, a primeira seção Catch captura a exceção DivideByZeroException e exibe a mensagem mostrada na imagem.

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 14

Blocos Try...End Try Aninhados

Os blocos Try...End Try podem ser aninhados.O exemplo a seguir define um bloco Try...End Try externo que contém um outro bloco Try...End Try interno. Se ocorrer uma exceção na abertura do arquivo, o programa exibe a mensagem "Exceção na abertura do arquivo.", e se após a abertura do arquivo sem exceção ocorrer uma exceção na leitura do arquivo, o programa exibe a mensagem "Exceção na leitura do arquivo."

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 15

Blocos Try...End Try Aninhados

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 16

A seção Finally

A seção Finally define o código que deverá ser sempre executado, sem ou com a ocorrência de uma exceção, antes de terminar o bloco Try...End Try. Em geral, contém o código para liberar recursos alocados no bloco Try...End Try ou o código comum a ser executado antes de terminar o bloco Try...End Try.

O exemplo a seguir foi modificado para conter a seção Finally, que sempre emite um sinal sonoro (Beep()), antes de terminar o bloco Try...End Try.

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 17

A seção Finally

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 18

Lançamento de Exceções

Em algumas situações você pode desejar lançar uma exceção para que esta seja tratada por uma rotina de tratamento de exceção ou para gerar uma exceção.

A sintaxe da declaração do lançamento da exceção é:Throw [expressão]

O exemplo a seguir foi modificado para lançar uma exceção genérica com a mensagem "Divisor j igual a zero" se o valor da variável j for igual a zero. Como a variável j é declarada e inicializada com valor igual a zero, o programa lança a exceção, que é capturada pela seção Catch, a qual exibe a mensagem "Ocorreu uma exceção: Divisor j igual a zero.", conforme mostra a imagem.

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 19

Lançamento de Exceções

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 20

Lançamento de Exceções

Mensagem exibida com o lançamento da exceção genérica:

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 21

Microsoft Visual Basic 2010

Conclusão

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 22

Saiba mais

Introdução ao Tratamento de Exceção:http://msdn.microsoft.com/pt-br/library/c68xfk56.aspx.

Visão Geral sobre a Manipulação Estruturada de Exceções para o Visual Basic:http://msdn.microsoft.com/pt-br/library/8a9f2ew0.aspx

Classe Exception:http://msdn.microsoft.com/pt-br/library/system.exception.aspx

Como Capturar uma exceção:http://msdn.microsoft.com/pt-br/library/ys1b32h3.aspx

Declaração Try... Catch... Finally... End Try :http://msdn.microsoft.com/pt-br/library/fk6t46tz.aspx

Visão Geral do Tratamento de Exceção Não Estruturadohttp://msdn.microsoft.com/pt-br/library/sf1hwa21.aspx

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 23

Saiba mais

Declaração On Error:http://msdn.microsoft.com/pt-br/library/5hsw66as.aspx

Quando Usar Manipulação de Exceção Estruturada ou Não Estruturada:http://msdn.microsoft.com/pt-br/library/s74yzzb5.aspx

Como Lançar uma exceção:http://msdn.microsoft.com/pt-br/library/z7w9ff54.aspx

Declaração Throw:http://msdn.microsoft.com/pt-br/library/ty79csek.aspx

10/04/2023 Fagner S. de Lima - Microsoft Visual Basic 2010 24

Referências

Universidade Estácio de Sá Microsoft

http://msdn.microsoft.com/pt-br/library/vstudio/2x7h1hfk(v=vs.100).aspx

top related