zoukankan      html  css  js  c++  java
  • net自定义错误页(转)

    asp.net中当服务器出错时显示指定的错误页面同时把错误信息写入系统日志文件的探讨

    一,在Web.config中填写出错时显示的页面,可以根据不同的statusCode显示不同的出错页面。

     程序代码
    <customErrors mode="On" //如果设置为Off则出错只返回错误信息,不会跳到自己的指定页面defaultRedirect="/error/customerrorpage.aspx">
    <error statusCode="404" redirect="/error/404Page.aspx"/>
    <error statusCode="403" redirect="/error/403page.aspx"/>
    </customErrors>


    二,在Global.asax文件中添加应用出错代码,写入系统日志文件

     程序代码
    protected void Application_Error(Object sender, EventArgs e)
    {
    Exception LastError = Server.GetLastError();
    String ErrMessage = LastError.ToString();

    String LogName = "MyLog";
    String Message = "Url " + Request.Path + " Error: " + ErrMessage;

    // Create Event Log if It Doesn't Exist

    if (!EventLog.SourceExists(LogName))
    {
    EventLog.CreateEventSource(LogName, LogName);
    }
    EventLog Log = new EventLog();
    Log.Source = LogName;
    //These are the five options that will display a different icon.
    Log.WriteEntry(Message, EventLogEntryType.Information, 1);
    Log.WriteEntry(Message, EventLogEntryType.Error, 2);
    Log.WriteEntry(Message, EventLogEntryType.Warning, 3);
    Log.WriteEntry(Message, EventLogEntryType.SuccessAudit, 4);
    Log.WriteEntry(Message, EventLogEntryType.FailureAudit, 5);
    }

    三,现在你可以进行测试了。
    我在Default.aspx.cs中产生一个错误,果然跳到默认的错误页面!

     程序代码
    private void Page_Load(object sender, System.EventArgs e)
    {
    // Put user code to initialize the page here
    try
    {
    int y=0;
    int x=1/y;
    }
    catch (Exception Err)
    {
    throw new Exception("404");//我想产生不同的错误,对应web.config中的statusCode,该如何实现?
    //Err.
    }

  • 相关阅读:
    SSL JudgeOnline 1194——最佳乘车
    SSL JudgeOnline 1457——翻币问题
    SSL JudgeOnlie 2324——细胞问题
    SSL JudgeOnline 1456——骑士旅行
    SSL JudgeOnline 1455——电子老鼠闯迷宫
    SSL JudgeOnline 2253——新型计算器
    SSL JudgeOnline 1198——求逆序对数
    SSL JudgeOnline 1099——USACO 1.4 母亲的牛奶
    SSL JudgeOnline 1668——小车载人问题
    SSL JudgeOnline 1089——USACO 1.2 方块转换
  • 原文地址:https://www.cnblogs.com/tangself/p/1626589.html
Copyright © 2011-2022 走看看