// asp.net 里面强制做一个页面基类的要求是不过分的。。。 public partial class TestLogger: PageBase { protected void Page_Load(object sender, EventArgs e) { // 这个方法实现在页面基类里面,可以往里面实现通用的异常处理,日志逻辑等。 TryDo( // 这个里面干实际的事情 delegate() { int a = 1; int b = 0; int c = a / b; }, // 这是一个可选的异常处理,如果传递一个 null 就会干脆忽略异常 delegate() { Response.Write("Sorry, 发生了一个错误。"); } ); } } 在页面基类里面的实现代码就很简单了,也可以方便的统一管理。这里我假定仅仅简单的用 log4net 来对异常做日志记录: using System; using System.Web.UI; using log4net;
namespace SomeNamespace { // 定义一个简单的委托用于传递匿名委托 public delegate void MyAction();
// 定义页面基类 public class PageBase : Page { protected ILog logger;