Como usar o tratamento no .NET translation from VPE for Csharp Visual e no Visual translation from VPE for Csharp 2005 ou 2008 translation from VPE for Csharp Visual de exceção estruturada

Traduções deste artigo Traduções deste artigo
ID do artigo: 816157 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve como usar manipulação no Microsoft Visual translation from VPE for Csharp de exceção estruturada. NET, no Microsoft Visual translation from VPE for Csharp 2005 ou no Microsoft Visual translation from VPE for Csharp 2008.

Requisitos

A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs que você precisa:
  • Visual translation from VPE for Csharp .NET ou versões posteriores do translation from VPE for Csharp Visual

Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • Visual translation from VPE for Csharp .NET ou versões posteriores do translation from VPE for Csharp Visual
  • Microsoft Visual Studio .NET ou ou versões posteriores do Visual Studio

Manipulação de exceção estruturada

O Visual translation from VPE for Csharp .NET oferece manipulação de exceção estruturada que fornece um poderoso e uma maneira mais legível para manipular erros. Estruturado de manipulação de exceções permite que você aninhar manipuladores de erro dentro de outros manipuladores de erro que estão no mesmo procedimento. Manipulação de exceção estruturada usa uma sintaxe de bloco é semelhante ao se... Else... End If instrução. Isso torna código translation from VPE for Csharp Visual .NET ou em versões posteriores do translation from VPE for Csharp Visual mais legível e fácil de manter. Você pode manipular exceções no Visual translation from VPE for Csharp .NET ou em versões posteriores translation from VPE for Csharp Visual usando uma combinação de instruções de manipulação de exceção:
  • tente
  • capturar
  • por fim
  • Lançar
A sintaxe básica do tratamento de erros estruturado é da seguinte maneira:
try
{
  // Code that is expected to raise an exception.
}
catch(Exception e)
{
  // Code that can handle an error.
}
finally
{
  // Code to do any final cleanup.
}
você pode incluir qualquer Visual válido translation from VPE for Csharp código no bloco try , ou pode incluir outro bloco try ou outra hierarquia de tente blocos. Quando ocorre uma exceção em qualquer ponto, o common language runtime procura o mais próximo bloco tente que inclui esse código e não é executado quaisquer linhas de código adicionais. O controle é então passado para um correspondente bloco catch , se houver e para o bloco associado finally . Você também pode especificar várias instruções catch para que cada bloco catch trata um erro específico.

Capturar uma exceção

  1. No Microsoft Visual Studio.NET, clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio .NET e, em seguida, clique em Microsoft Visual Studio .NET .

    No Microsoft Visual Studio 2005, clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio 2005 e, em seguida, clique em Microsoft Visual Studio 2005 .

    No Microsoft Visual Studio 2008, clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio 2008 e, em seguida, clique em Microsoft Visual Studio 2008
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Na caixa de diálogo New Project , execute estas etapas:
    1. Em Project Types , clique em projetos translation from VPE for Csharp Visual .

      Observação No Visual Studio 2005 ou no Visual Studio 2008, clique em translation from VPE for Csharp Visual em Tipos de projeto .
    2. Em modelos , clique em Aplicativo de console .
    3. Na caixa nome , digite MyConsoleApp .
    4. Na caixa Location , digite C:\ e, em seguida, clique em OK .
  4. Adicione o seguinte código na função Main() :
    int a = 0;
    			int b = 10;
    			int c = 0;
    
    			try 
    			{
    				a = b / c;
    			}
    			catch (Exception e)
    			{
    				Console.WriteLine("A run-time error occurred.");
    			}
    			finally 
    			{
    				Console.ReadLine();
    			}
  5. Para executar o aplicativo, clique em Iniciar no menu Debug . O código tenta dividir um número por 0. Essa operação não é válida e causa um erro de divisão por zero. No entanto, o bloco catch captura este erro, e a janela console exibe a seguinte mensagem de erro:

    Ocorreu um erro de tempo de execução
  6. Feche a janela Console.

Capturar exceções vários

Esta seção demonstra como usar várias instruções catch para manipular erros diferentes.
  1. Abra o projeto Console Application que você criou na seção "Catch an Exception" deste artigo.
  2. Substitua o código existente na função Main() com o código a seguir:
    int a = 2147483647;
    			int b = 0;
    			int c = 0;
    
    			try 
    			{
    				 a = checked(a + 1);
    			}
    			catch (DivideByZeroException e)
    			{
    				Console.WriteLine("Error: Divide by Zero", e.Message);
    			}
    			catch (OverflowException e)
    			{
    				Console.WriteLine("Error: Overflow", e.Message);
    			}
    			finally 
    			{
    				Console.ReadLine();
    			}
    este código inclui dois blocos catch :
    • Um bloco catch captura o erro de divisão por zero anterior.
    • Um bloco catch captura o erro de estouro de novo.
  3. Para executar o aplicativo, clique em Iniciar no menu Debug . console janela exibirá a seguinte mensagem de erro:
    Erro: estouro
  4. Feche a janela console .
  5. Como sempre, você não pode antecipar todos os erros que podem ocorrer, você pode adicionar um bloco catch para todas as exceções que você não pode antecipar. Por exemplo, adicione o seguinte código antes da instrução finally para capturar erros que você não pode antecipar e para exibir a mensagem de erro apropriado:
    catch (Exception e)
    			{
    				Console.WriteLine("Error: ", e.Message);
    			}
  6. No menu arquivo , clique em Close Solution .

Lançar uma exceção

Manipulação de exceção estruturada utiliza a instrução catch para capturar uma exceção. Com tratamento de exceção estruturada, você também pode lançar uma exceção. Por exemplo, você talvez ache útil para lançar uma exceção quando você executa validação de dados dentro de um procedimento Property Set , porque você pode deseja lançar um erro se uma regra de negócio é violada.
  1. No Microsoft Visual Studio.NET, clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio .NET e, em seguida, clique em Microsoft Visual Studio .NET .

    No Microsoft Visual Studio 2005, clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio 2005 e, em seguida, clique em Microsoft Visual Studio 2005 .

    No Microsoft Visual Studio 2008, clique em Iniciar , aponte para programas , aponte para Microsoft Visual Studio 2008 e, em seguida, clique em Microsoft Visual Studio 2008
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .
  3. Na caixa de diálogo New Project , execute estas etapas:
    1. Em Project Types , clique em projetos translation from VPE for Csharp Visual .

      Observação No Visual Studio 2005 ou no Visual Studio 2008, clique em translation from VPE for Csharp Visual em Tipos de projeto .
    2. Em modelos , clique em Aplicativo de console .
    3. Na caixa nome , digite MyNewConsoleApp .
    4. Na caixa Location , digite C:\ e, em seguida, clique em OK .
  4. No menu Project , clique em Adicionar classe .
  5. Na caixa de diálogo Add New Item , digite clsPerson.cs na caixa nome e em seguida, clique em Abrir .

    Observação No Visual Studio 2005 ou no Visual Studio 2008, clique em Adicionar .
  6. Adicione o seguinte código na classe clsPerson :
    public clsPerson()
    		{
    		}
    		private int mintAge;
    		public int Value;
    
    		public int Age
    		{
    			get
    			{
    				Age = mintAge;
    				return Age;
    			}
    
    			set
    			{
    				if(Value > 0)
    					mintAge = Value;
    				else
    					throw new ArgumentException("Age cannot be negative.");
    			}
    		}
    esse código cria uma propriedade de idade . Como uma pessoa não é possível ter uma duração negativa, um erro é gerado se o usuário da classe tentar definir a propriedade Age como um número que seja menor que 0.
  7. Na função Main() de Class1.cs , adicione o seguinte código:
    clsPerson p = new clsPerson();
    
    			try 
    			{
    				p.Age = -1;
    			}
    			catch (Exception e)
    			{
    				Console.WriteLine(e.Message);
    			}
    			finally
    			{
    				Console.ReadLine();
    			}
  8. Para executar o aplicativo, clique em Iniciar no menu Debug . A janela de console exibe a seguinte mensagem de erro:
    Idade não pode ser negativa
  9. Feche a janela console .

Concluir a listagem de código

Capturar uma exceção

using System;

namespace MyConsoleApp
{
	class Class1
	{
		[STAThread]
  static void Main(string[] args)
		{
			int a = 0;
			int b = 0;
			int c = 0;

			try 
			{
				a = b / c;
			}
			catch (Exception e)
			{
				Console.WriteLine("A run-time error occurred.");
			}
			finally 
			{
				Console.ReadLine();
			}
		}
}
}

Capturar exceções vários

using System;

namespace MyConsoleApp
{
	class Class1
	{
		[STAThread]
		static void Main(string[] args)
		{
			int a = 2147483647;
		
			try 
			{
				a = checked(a + 1);
			}
			catch (DivideByZeroException e)
			{
				Console.WriteLine("Error: Divide by Zero", e.Message);
			}
			catch (OverflowException e)
			{
				Console.WriteLine("Error: Overflow", e.Message);
			}
			catch (Exception e)
			{
				Console.WriteLine("Error: ", e.Message);
			}
			finally 
			{
				Console.ReadLine();
			}
		}
	}
}

Lançar uma exceção

using System;

namespace MyNewConsoleApp
{

	class Class1
	{
		
		[STAThread]
		static void Main(string[] args)
		{
			clsPerson p = new clsPerson();

			try 
			{
				p.Age = -1;
			}
			catch (Exception e)
			{
				Console.WriteLine(e.Message);
			}
			finally
			{
				Console.ReadLine();
			}
		}
	}
public class clsPerson
	{
		public clsPerson()
		{
		}
		private int mintAge;
		public int Value;

		public int Age
		{
			get
			{
				Age = mintAge;
				return Age;
			}

			set
			{
				if(Value > 0)
					mintAge = Value;
				else
					throw new ArgumentException("Age cannot be negative.");
			}
		}
	}
}

Referências

Para obter mais informações, visite o seguinte site:
Exceção Management Application Block para .NET
http://msdn2.microsoft.com/en-us/library/ms954830.aspx

Propriedades

ID do artigo: 816157 - Última revisão: quarta-feira, 16 de julho de 2008 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# 2008 Express Edition
Palavras-chave: 
kbmt kbprogramming kbexcepthandling kbhowtomaster KB816157 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 816157

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com