每次在ASP.NET中使用try catch时运行一个方法

时间:2017-06-22 15:18:07

标签: c# asp.net-mvc try-catch

我想知道是否有可能编写每次在ASP.NET中使用try catch块时运行的代码,而不必在try catch块中添加任何属性到方法或代码。 我指的是整个项目中所有尝试捕获的一段代码。 是否可以自定义try catch或每次使用try catch时调用方法? 提前致谢

2 个答案:

答案 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
));