• 捕捉所有Page內的異常


    ________________________PageBase.cs___________________________________
    //如果發生不預期的異常就跳轉到錯誤頁面
    //把:Exception.Message顯示到錯誤頁面上
    //這種常規的錯誤顯示機制可以寫到基類中,繼承該類的頁面
    //再不用寫處理常規異常的try,catch快

    public class PageBase:Page
    {
     protected override void OnError(EventArgs e)//捕捉所有Page對象生命周期內的異常
            {
                base.OnError(e);
                Exception ex = Server.GetLastError();
                Response.Clear();
                //偽代碼:跳到錯誤處理頁面,傳參數 ex
                //GotoErrPage(ex);
            }
    }
    ________________________SomePage.cs____________________________________
    public class SomePage:PageBase//繼承
    {
     protected void Page_Load(object sender, System.EventArgs e)
     {
      //如果發生異常就把跳轉到錯誤頁面,
      //產生一個異常,除數為0

      int x=0;
      Response.Write(1/x);
      //不用寫任何catch,該異常會在其父類的OnError中自動處理,
      //減少重復的代碼
      //由Page生命周期中的錯誤再不會導致伺服器錯誤的頁面
     }
    }
  • 相关阅读:
    总结html5
    css加载方式link和@import的区别!
    JavaScript
    log4j log for java
    异常
    内部类
    抽象类和接口,封装、继承、多态
    类和对象
    html 基础知识
    html表单
  • 原文地址:https://www.cnblogs.com/tianxiang2046/p/1368782.html
Copyright © 2020-2023  润新知