14. november 2007 - 00:08Der er
12 kommentarer og 1 løsning
Få exception message i Application_Error
I global.asax har jeg en handler for fejl Application_Error
Det fungerer fint nok med at redirecte til en custom error page.
Jeg vil gerne have have fejlbeskeden med, og det kniber med at få den frem for sig selv.
I min kode på en side gør jeg følgende:
Throw new Exception("This is my test exception")
og i global.asax:
Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
Dim LastException As String = Context.Error.ToString() Context.ClearError() Response.Redirect("CustomErrors.aspx?Err=" & Server.UrlEncode(LastException)) End Sub
Jeg vil gerne have fat i min egen besked, dvs.:"This is my test exception". Den forekommer i Context.Error.ToString(), så er der en property på Error, hvor jeg kan få fat i den direkte ? jeg synes jeg har prøvet alt indlysende :-(
Jeg havde desværre blot en enkelt indskydelse.. for at komme med mere kræver det at jeg sætter det op selv og har desværre ikke lige tiden til det pt:(
Jeg fandt denne kode på nettet (husker ikke hvor), der i global.asax' Application_Error spadserer ned gennem flere lags exceptions.
Dim ex As Exception = HttpContext.Current.Server.GetLastError() If ex IsNot Nothing Then Dim exceptionlayer As Exception = Nothing If TypeOf ex Is HttpUnhandledException Then exceptionlayer = ex.InnerException Else exceptionlayer = ex End If Dim sb As New StringBuilder() While exceptionlayer IsNot Nothing sb.AppendLine(ex.ToString()) sb.AppendLine("-------------------------------") exceptionlayer = exceptionlayer.InnerException End While end if
Det virkede perfekt - tricket var åbenbart at få fat i den inner exception, og så kunne jeg få dennes .Message ud, ganske som jeg selv havde skrevet den.
Mange tak! (Og eftersom jeg går ud fra at det er "same procedure as last year" så åbner jeg ikke et nyt spørgsmål med points til dig !:)
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.