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".- class ExceptionTest
- {
- static double SafeDivision(double x, double y)
- {
- if (y == 0)
- throw new System.DivideByZeroException();
- return x / y;
- }
- static void Main()
- {
- // Input for test purposes. Change the values to see
- // exception handling behavior.
- double a = 98, b = 0;
- double result = 0;
- try
- {
- result = SafeDivision(a, b);
- Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
- }
- catch (DivideByZeroException e)
- {
- Console.WriteLine("Attempted divide by zero.");
- }
- }
- }
Copiar código
|