2010-09-07 7 views
3

J'ai une application de formulaire Web ASP.NET. Dans le web.config associé à cette application, je gère mon erreur personnalisée comme ceci:Déterminer l'erreur qui a provoqué une redirection dans ASP.NET

<customErrors mode="Off" defaultRedirect="error.aspx" /> 

Lorsqu'un utilisateur arrive à la page error.aspx, je veux déterminer quelle erreur a causé cette page pour obtenir atteinte. Est-ce que quelqu'un sait comment je peux faire cela?

Merci!

Répondre

4

Vous pouvez le faire en utilisant Server.GetLastError Méthode

Exception LastError; 
String ErrMessage; 

LastError = Server.GetLastError(); 

if (LastError != null) 
    ErrMessage = LastError.Message; 
else 
    ErrMessage = "No Errors"; 

Response.Write("Last Error = " + ErrMessage); 
6

Vous obtenez l'objet d'exception avec la méthode GetLastError:

Exception ex = Server.GetLastError(); 

(Copié tout droit sorti du code de notre page d'erreur, qui a enregistré plusieurs millions d'erreurs jusqu'à présent ... :)

+0

+1 Mais, ouch. Bonne chance avec ces journaux;) –

+0

J'espère que vous faites référence à un site qui a été utilisé sur une longue période de temps;) –

+0

@Fredrik Mörk: Oui, nous avons environ 300 demandes par seconde, donc ce n'est pas beaucoup d'entre eux qui se retrouvent dans le journal. :) Les araignées de buggy et le prefetch d'IE buggé causent beaucoup d'erreurs. : P – Guffa

Questions connexes