Rattraper les erreurs dans Global.asax

J'ai de la suite dans mon Global.aspx qui est conçue pour la gestion des erreurs:

void Application_Error(object sender, EventArgs e)
{
    Exception exception = Server.GetLastError();
    if (exception != null)
    {
        //Log
        if (HttpContext.Current.Server != null)
        {
           HttpContext.Current.Server.Transfer("/siteerror.aspx");
        }
    }
}

Cela fonctionne pour la plupart, mais parfois il n'est pas en Serveur.De transfert. Pour une raison quelconque HttpContext.Actuel.Serveur est null. J'ai compris d'où cela se passe: lorsque des erreurs se produisent dans un contrôle utilisateur et dans mes classes de logique métier. Suis-je manqué quelque chose?

Grâce

source d'informationauteur Peuge