Your SlideShare is downloading. ×
Visual Basic 2010 - (05) Tratamento de Exceções
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Visual Basic 2010 - (05) Tratamento de Exceções

2,279

Published on

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 …

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,279
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
193
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Microsoft Visual Basic 2010 Tratamento de Exceções 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 1
  • 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. 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 2
  • 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). 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 3
  • 4. Tratamento de Exceções Estruturadas 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 4 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).
  • 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. 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 5
  • 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 é: 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 6
  • 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 é: 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 7
  • 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). 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 8
  • 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. 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 9
  • 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. 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 10
  • 11. A seção Catch A imagem mostra a mensagem exibida pela seção de tratamento de exceção genérica do programa. 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 11
  • 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. 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 12
  • 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. 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 13
  • 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." 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 14
  • 15. Blocos Try...End Try Aninhados 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 15
  • 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. 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 16
  • 17. A seção Finally 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 17
  • 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. 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 18
  • 19. Lançamento de Exceções 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 19
  • 20. Lançamento de Exceções Mensagem exibida com o lançamento da exceção genérica: 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 20
  • 21. Microsoft Visual Basic 2010 Conclusão 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 21
  • 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 Estruturado http://msdn.microsoft.com/pt-br/library/sf1hwa21.aspx 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 22
  • 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 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 23
  • 24. Referências  Universidade Estácio de Sá  Microsoft http://msdn.microsoft.com/pt- br/library/vstudio/2x7h1hfk(v=vs.100).aspx 11/8/2013 Fagner S. de Lima - Microsoft Visual Basic 2010 24

×