Avatar billede misbruger Nybegynder
30. maj 2003 - 11:12 Der er 12 kommentarer og
1 løsning

Fang sidste exception

Jeg har sat min web.config til at fange alle exceptions, og redirecte brugeren til en fejlside...

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

På error.aspx vil jeg gerne hente den exception der har forudsaget dette....

Hvordan er det nu man gør.....?
Avatar billede odegaard Nybegynder
30. maj 2003 - 11:19 #1
Dim ex as Exception = Server.GetLastError()
Avatar billede odegaard Nybegynder
30. maj 2003 - 11:20 #2
Skal ikke lige kunne sige om det virker på en fejlside.
Det virker ihvertfald i Global.Asax' Application_Error event, hvor jeg selv bruger det.
Avatar billede misbruger Nybegynder
30. maj 2003 - 11:24 #3
den er god nok!

Det var det jeg ledte efter...

Exception excpt = Server.GetLastError().GetBaseException();
Avatar billede odegaard Nybegynder
30. maj 2003 - 11:27 #4
Virker det for dig? Jeg fik lige lyst til at forsøge mig fra min fejl-side, men min fejl er hele tiden null (derfor kan jeg iøvrigt ikke benytte GetBaseException() før jeg har tjekket at GetLastError() ikke er null).
Avatar billede odegaard Nybegynder
30. maj 2003 - 11:46 #5
Hmm jeg har lige læst at man ikke kan fange fejlen fra ens egen fejlside:
"There is a problem here with this solution. Once the redirect is done, your error information is no longer available on the redirected page. This is because IIS (via the .net framework) performs a plain old GET request to the error page and does not do a "Server.Transfer" like the built-in IIS error handling does.
The only information available to you at this time is the URL that caused this error to be raised. This is located on the querystring as "aspxerrorpath": http://localhost/ErrorHandling/error500.aspx?aspxerrorpath=/ErrorHandling/WebForm1.aspx. The only places this information is available is the two methods described above."

Så hvis du vil logge din fejl, må du gøre det i Application_Error event'et i global.asax
Eneste problem er desværre så at man ikke kender fejlen i ens error-side, og derfor ikke kan vise andet end at "der skete en fejl".
Avatar billede askhoej Praktikant
30. maj 2003 - 13:20 #6
odegaard >> man kan vel bare gemme den Exception der er blevet kastet i en sessions- eller applikationsvariabel i Application_Error og så hente oplysninger frem på fejlsiden.

/askhoej
Avatar billede odegaard Nybegynder
30. maj 2003 - 13:36 #7
ja det har jeg forsøgt, men uden held. Jeg fatter det ikke. Spørgsmålet er hvilket event der bliver udført først, og om man forsøger at koble to ting der foregår i hvert sit scope.
Avatar billede tommer Nybegynder
27. juni 2003 - 14:28 #8
jeg vil gerne gøre det samme....
har i evt, i mellemtiden, fundet en løsning på at få fejlen med over til ens fejlside ???
Avatar billede askhoej Praktikant
27. juni 2003 - 14:35 #9
hey tommmer!

I din global.asax(.cs) skal du have følgende:

protected void Application_Error(Object sender, EventArgs e)
{
    Exception LastError;
    LastError = Server.GetLastError();
    Application["LastError"] = LastError;
}

Og på din fejlside kan du så hente fejlen igen:

Exception LastError = (Exception)Application["LastError"];

/Martin A
Avatar billede tommer Nybegynder
27. juni 2003 - 14:36 #10
over godt ;-)
jeg prøver lige....
Avatar billede tommer Nybegynder
27. juni 2003 - 14:40 #11
tror du ikke det var en go ide at bruge:

Application.Lock();
Application.UnLock() ;

udenom det hele ???
Avatar billede tommer Nybegynder
27. juni 2003 - 14:53 #12
oki det spiller...
det er bare ikke ret sigende:
Exception of type System.Web.HttpUnhandledException was thrown
*g*
zez
Avatar billede askhoej Praktikant
27. juni 2003 - 15:04 #13
Der plejer ellers at være massere af info og hente:

strErrorException = LastError.InnerException.ToString();
strErrorMessage = LastError.Message.ToString();
strErrorSource = LastError.Source.ToString();
strErrorStackTrace = LastError.StackTrace.ToString();
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Politiets Efterretningstjeneste

API-udvikler til PET

IT-Universitetet i København

IT-partner til IT-Universitetet i København

Forsvarets Efterretningstjeneste

FE søger PKI-specialist