Asp.Net 异常处理机制

1、AspNet提供的基本异常处理机制

  1)<customerrors defaultredirect="Error.aspx" mode="on"/>

  2)Error.aspx CodeBehind : hlinkPreviousPage.NavigateUrl = Request["aspxerrorpath"];

    AspNet runtime获取到异常后,将请求跳转至Error页面,同时aspxerrorpath传递前一个页面路径

 

2、异常处理机制设计:

  1)在Global.asax ->Application_Error()中统一捕获异常并处理

           void Application_Error(object sender, EventArgs e){

      Exception ex = Server.GetLastError();

      ErrorHandler.ReportError(ex);

      Server.ClearError();

      Response.Redirect(string.Format("Error.aspx?aspxerrorpath={0}",Request.Url.PathAndQuery));

    }

 

3、自定义异常类,BaseException,BLLException,DALException,同时定义不同异常类的处理方式:

    1)DALException在DAL封装后抛出,BLL层就不要Try..Catch..Throw,直接让Application_Error()catch该类型异常;

    2)Application_Error()中只捕获DALException与未设置Try..Catch的异常,BLLException在CodeBehind中Try..Catch,该类异常只是告诉Users输入正确的值;

    3)确保只在一个地方Catch一个被抛出的异常(在CodeBehind或者Application_Error); Do not re-throw it after you catch.Throw once,Catch once.

 

原文链接:http://www.codeproject.com/Articles/155810/Back-to-the-Basics-Exception-Management-Design-Gui

 

 

Asp.Net 异常处理机制,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。