<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      asp.net捕獲全局未處理異常的幾種方法

      1.通過HttpModule來捕獲未處理的異常【推薦】

      首先需要定義一個HttpModule,并監聽未處理異常,代碼如下:

              public void Init(HttpApplication context)
              {
                  context.Error += new EventHandler(context_Error);
              }
      
              public void context_Error(object sender, EventArgs e)
              {
                  //此處處理異常
                  HttpContext ctx = HttpContext.Current;
                  HttpResponse response = ctx.Response;
                  HttpRequest request = ctx.Request;
      
                  //獲取到HttpUnhandledException異常,這個異常包含一個實際出現的異常
                  Exception ex = ctx.Server.GetLastError();
                  //實際發生的異常
                  Exception iex = ex.InnerException;
      
                  response.Write("來自ErrorModule的錯誤處理<br />");
                  response.Write(iex.Message);
      
                  ctx.Server.ClearError();
              }

       

      然后在web.config中加入配置信息:

              <httpModules>
                  <add name="errorCatchModule" type="WebModules.ErrorHandlerModule, WebModules" />
              </httpModules>

       

      這樣就可以處理來自webApp中未處理的異常信息了。

      之所以推薦這種方法,是因為這種實現易于擴展、通用;這種方法也是用的最多的。

       

       

      2.Global中捕獲未處理的異常

      在Global.asax中有一個Application_Error的方法,這個方法是在應用程序發生未處理異常時調用的,我們可以在這里添加處理代碼:

              void Application_Error(object sender, EventArgs e)
              {
                  //獲取到HttpUnhandledException異常,這個異常包含一個實際出現的異常
                  Exception ex = Server.GetLastError();
                  //實際發生的異常
                  Exception iex = ex.InnerException;
      
                  string errorMsg = String.Empty;
                  string particular = String.Empty;
                  if (iex != null)
                  {
                      errorMsg = iex.Message;
                      particular = iex.StackTrace;
                  }
                  else
                  {
                      errorMsg = ex.Message;
                      particular = ex.StackTrace;
                  }
                  HttpContext.Current.Response.Write("來自Global的錯誤處理<br />");
                  HttpContext.Current.Response.Write(errorMsg);
      
                  Server.ClearError();//處理完及時清理異常
              }

       

      這種處理方式同樣能夠獲取全局未處理異常,但相對于使用HttpModule的實現,顯得不夠靈活和通用。

      HttpModule優先于Global中的Application_Error方法。

       

      3.頁面級別的異常捕獲

      我們還可以在頁面中添加異常處理方法:在頁面代碼中添加方法Page_Error,這個方法會處理頁面上發生的未處理異常信息。

              protected void Page_Error(object sender, EventArgs e)
              {
                  string errorMsg = String.Empty;
                  Exception currentError = Server.GetLastError();
                  errorMsg += "來自頁面的異常處理<br />";
                  errorMsg += "系統發生錯誤:<br />";
                  errorMsg += "錯誤地址:" + Request.Url + "<br />";
                  errorMsg += "錯誤信息:" + currentError.Message + "<br />";
                  Response.Write(errorMsg);
                  Server.ClearError();//清除異常(否則將引發全局的Application_Error事件)
              }

       這種方法會優先于HttpModule和Global。

      posted @ 2012-04-25 15:54  拓荒者IT  閱讀(12446)  評論(4)    收藏  舉報
      皮膚配置 參考地址:https://www.yuque.com/awescnb/user
      主站蜘蛛池模板: 亚洲午夜性猛春交XXXX | 91青青草视频在线观看| 亚洲一区精品视频在线| 国产一区二区av天堂热| 精品无码人妻| 国产自拍偷拍视频在线观看| 久久精产国品一二三产品| 国产午夜影视大全免费观看| 成年午夜免费韩国做受视频| 亚洲欧美日本久久网站| 麻豆精品久久久久久久99蜜桃| 国产AV无码专区亚洲AWWW| 久久婷婷成人综合色综合| 国产亚洲精品俞拍视频| 午夜无码免费福利视频网址| 国产在线98福利播放视频| 成在线人视频免费视频| 精品人妻中文字幕在线| 美女黄网站人色视频免费国产| 国产无遮挡猛进猛出免费软件| 亚洲欧美人成电影在线观看 | 久久青青草原亚洲AV无码麻豆| 国产日韩精品中文字幕| 上司人妻互换中文字幕| 久久精品一本到99热免费| 色综合天天综合网国产人| 人妻在线无码一区二区三区 | 成人免费xxxxx在线观看| 国产精品一区在线蜜臀| 一面膜上边一面膜下边视频| 亚洲欧美日韩尤物AⅤ一区| 靖宇县| 91人妻无码成人精品一区91| 夜夜爱夜鲁夜鲁很鲁| 激情欧美日韩一区二区| 久久精品国产免费观看频道| 中文国产成人精品久久不卡| 熟女乱一区二区三区四区| 精品乱码一区二区三四五区| 国产精品久久蜜臀av| 中文字幕久久国产精品|