Demonstration of Page_Error Handler : Server class « Development « ASP.NET Tutorial






<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="PageExceptionTest" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Demonstration of Page_Error Handler</title>
</head>
<body>
    <form id="form1" runat="server">
    Demonstration of Page_Error Handler. This markup will never be displayed.
    </form>
</body>
</html>

File: Default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class PageExceptionTest : System.Web.UI.Page
{
   protected void Page_Load(object sender, EventArgs e)
   {
      BuggyMethod();   
   }

   private void BuggyMethod()
   {
      throw new ApplicationException("Your buggy code caused an exception.");
   }
   private void Page_Error(object sender, EventArgs e)
   {
      Exception ex = Server.GetLastError();
      Response.Write("<h1>An error has occurred</h1>");
      Response.Write("<h2>" + ex.Message + "</h2>");
      Response.Write("<pre>" + ex.StackTrace + "</pre>");
      Context.ClearError();
   }
}








9.39.Server class
9.39.1.Use Server.HtmlEncode to encode HTML tags (C#)
9.39.2.Use Server.Transfer to transfer action to another aspx file (C#)
9.39.3.Server.UrlEncode
9.39.4.Forward the user to the information page, with the query string data (#)
9.39.5.Use Server.MapPath() to load the file in the current directory (VB.net)
9.39.6.Demonstration of Page_Error Handler
9.39.7.text generated by Execute can be embedded in the main response or cached in a writer object
9.39.8.Server.Execute
9.39.9.Server.GetLastError()
9.39.10.Server.HtmlDecode
9.39.11.Server.HtmlEncode
9.39.12.Server.MachineName
9.39.13.Server.MapPath
9.39.14.Server.ScriptTimeout
9.39.15.Server.Transfer
9.39.16.Server.UrlDecode
9.39.17.Server.UrlPathEncode