AppDomain.FirstChanceException

Depois que uma exception é lançada o CLR começa uma busca no call stack por um bloco que faça o tratamento dessa exception.

O AppDomain.FirstChanceException é um evento que ocorre antes do CLR começar a procurar no call stack por um ponto da aplicação que faz o tratamento dessa exception, isto é, antes da exception ser tratada este evento é acionado.

Este evento funciona como um notificador, não afetando a exception ou cancelando o seu disparo. 

Todas as exceptions lançadas pelo FirstChanceException devem ser tratadas, caso contrário o FirstChanceException torna-se recursivo.

Este recurso está disponível desde o .Net Framework 4.0.

Abaixo um exemplo de uso do FirstChanceException:

    using System;
    using System.Runtime.ExceptionServices;

    class Program {
        static void Main(string[] args) {

            AppDomain.CurrentDomain.FirstChanceException 
                        += FirstChanceException;

            try {

                int number = 10;
                int divisor = 0;

                int result = number / divisor;
            }
            catch (Exception ex) {

                Console.WriteLine("Error: {0}", ex.Message);
            }
        }

        static void FirstChanceException(object sender, 
                    FirstChanceExceptionEventArgs e) {

            Console.WriteLine("First Chance (to see the) Exception: {0}", 
                    e.Exception.Message);
        }
    }

 

Por
MSc. Fernando Henrique Inocêncio Borba Ferreira
Microsoft Most Valuable Professional – Visual C#

Referências:
http://msdn.microsoft.com/en-us/library/system.appdomain.firstchanceexception(v=vs.110).aspx
http://blogs.msdn.com/b/davidklinems/archive/2005/07/12/438061.aspx

Anúncios

One Response to AppDomain.FirstChanceException

  1. Muito bom! Mande mais assuntos como esse 😀
    Abs!!!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: