我想知道是否有可能编写每次在ASP.NET中使用try catch块时运行的代码,而不必在try catch块中添加任何属性到方法或代码。 我指的是整个项目中所有尝试捕获的一段代码。 是否可以自定义try catch或每次使用try catch时调用方法? 提前致谢
答案 0 :(得分:1)
你最终要寻找的是:
try {}
catch(Exception ex)
{}
finally {
//Code executes after try catch regardless of outcome
}
您真正想要的是:
public class GlobalExceptionLogger : ExceptionLogger
{
public override void Log(ExceptionLoggerContext context)
{
//elmah logging code for context.exception
}
}
答案 1 :(得分:0)
您可以编写自己的try-catch,如下所示:
public static class Try
{
public static void Action(Action a)
{
try
{
a();
}
catch (Exception e)
{
//do whatever you want here
throw new OtherException(e.Message, e);
}
}
}
在项目的任何地方使用它:
Try.Action(() =>
// code to be wrapped with try
));