Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 21123|Resposta: 0

[Fonte] Exceções e Tratamento de Exceções (Guia de Programação C#)

[Copiar link]
Publicado em 12/04/2015 22:22:03 | | |

O recurso de tratamento de exceções da linguagem C# ajuda você a lidar com quaisquer situações inesperadas ou incomuns que ocorram enquanto seu programa está em execução. O tratamento de exceções usa as palavras-chave try, catch e finally para tentar certas operações e lidar com falhas, e embora essas operações tenham potencial para falhar, você pode tentar fazê-lo se tiver certeza de que precisa fazer isso e quiser limpar recursos depois. Tempo de execução da Linguagem Comum (CLR), . O NET Framework ou qualquer biblioteca ou código de aplicação de terceiros pode gerar exceções. Exceções são criadas usando a palavra-chave throw.
Em muitos casos, exceções podem não ser levantadas por um método chamado diretamente por código, mas por outro método mais abaixo na pilha de chamadas. Nesse caso, o CLR expande a pilha para verificar se existe um método que contenha um bloco de captura para aquele tipo de exceção específico, e se encontrar tal método, executa o primeiro bloco de captura encontrado. Se nenhum bloqueio de captura apropriado for encontrado em qualquer lugar da pilha de chamadas, o processo é encerrado e uma mensagem é exibida ao usuário.
Neste exemplo, um método é usado para detectar se existe uma situação em que ele é dividido por zero; Se houver, o erro é detectado. Se não houver tratamento de exceções, este programa será encerrado e gerará um erro "DivideByZeroException Not Handled".
  1. class ExceptionTest
  2. {
  3.     static double SafeDivision(double x, double y)
  4.     {
  5.         if (y == 0)
  6.             throw new System.DivideByZeroException();
  7.         return x / y;
  8.     }
  9.     static void Main()
  10.     {
  11.         // Input for test purposes. Change the values to see
  12.         // exception handling behavior.
  13.         double a = 98, b = 0;
  14.         double result = 0;

  15.         try
  16.         {
  17.             result = SafeDivision(a, b);
  18.             Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
  19.         }
  20.         catch (DivideByZeroException e)
  21.         {
  22.             Console.WriteLine("Attempted divide by zero.");
  23.         }
  24.     }
  25. }
Copiar código






Anterior:C# determina se uma string contém um caractere
Próximo:Verifique se um site é criado pelo programa de fórum Discuz
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com