RE: ASP.NET Exception Handling

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Put this code in the Application_Error event handler in your global.asax
Something like so:


// in global.asax:
protected void Application_Error(Object sender, EventArgs e)
{
// logging code line follows
ExceptionHandler.LogException exc = new ExceptionHandler.LogException();
Exception ex = Server.GetLastError().GetBaseException();
// pass ex to your logging or notification utility, write to event log, or
whatever.
}

And here is something you might find even more useful:

http://www.eggheadcafe.com/articles/20030816.asp

Peter


--
Co-founder, Eggheadcafe.com developer portal:
http://www.eggheadcafe.com
UnBlog:
http://petesbloggerama.blogspot.com




"Brad Baker" wrote:

I'm trying to create a custom ASP.NET custom error page however I am having
some problems. Here is what I have done:



1) I've created a page called default.aspx with the following code to
stimulate an error:



<script language="c#" runat="server">

public void Page_Load(object sender, EventArgs e) {



throw new Exception ("Test Exception");

}

</script>





2) I've edited my web.config file custom errors as follows:



<customErrors

mode="On"

defaultRedirect="errorreport.aspx"

/>





3) My errorreport.aspx contains the following code:



<script language="c#" runat="server">

public void Page_Load(object sender, EventArgs e) {



HttpContext ctx = HttpContext.Current;



Exception ex = Server.GetLastError().GetBaseException();



string errorInfo =

"<br>Offending URL: " + ctx.Request.Url.ToString () +

"<br>Source: " + ex.Source +

"<br>Message: " + ex.Message +

"<br>Stack trace: " + ex.StackTrace;



Response.Write (errorInfo);



}

</script>





When I access default.aspx, I get redirected to asperrorreport.aspx as
expected but the following error is generated on the errorreport.aspx page:



Exception Details: System.NullReferenceException: Object reference not set
to an instance of an object.

Line 12: Exception ex = Server.GetLastError().GetBaseException();



I believe this is because the "ex" variable is null. What I don't understand
is why it's null? What am I missing?



Thanks,

Brad



.



Relevant Pages

  • Re: Device.Lights[]
    ... > device.SetTransform(TransformType.World, matWorld); ... > void cbLight1_Changed(object sender, EventArgs e) ...
    (microsoft.public.win32.programmer.directx.managed)
  • Re: An OleDbParameter with ParameterName @ID is not contained by this OleDbParameterCollection probl
    ... void MeetingsGridView_OnSelectedIndexChanged(Object sender, EventArgs e) ... Text='Add some Seminar Details' ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: postback issue
    ... EventArgs e) ...    protected void tester_SelectedIndexChanged(object sender, ... it seems the postback and redirect is ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: where is global.asax.cs ?
    ... void Application_Start(object sender, EventArgs e) ... de session a la valeur StateServer ...
    (microsoft.public.dotnet.framework.aspnet)
  • FormsAuthentication.Decryption problem
    ... protected void LoginButton_Click(object sender, EventArgs e) ... Exception Details: System.Security.Cryptography.CryptographicException: Padding is invalid and cannot be removed. ... System.Security.Cryptography.RijndaelManagedTransform.DecryptData(ByteinputBuffer, Int32 inputOffset, Int32 inputCount, Byte& outputBuffer, Int32 outputOffset, PaddingMode paddingMode, Boolean fLast) +1545747 ...
    (microsoft.public.dotnet.framework.aspnet)