【发布时间】:2012-06-08 11:30:26
【问题描述】:
如果有一种方法可以将我的所有方法包装在 try catch 中,而无需在每个方法中编写 try catch。
目前我们正在使用下面提到的方法:
public TValue ErrorHandler<TValue>(Func<TValue> action)
{
try
{
return (TValue)action();
}
catch (Exception ex)
{
//Handle Exception and Log it..........
return default(TValue);
}
}
public void ErrorHandler(Action action)
{
try
{
action();
}
catch (Exception ex)
{
//Handle Exception and Log it..........
}
}
这被用作:
public void ClearControls()
{
this.ErrorHandler(() =>
{
//................................
});
}
由于其中使用了 Lambda,如果在调试时编辑代码,它会强制再次运行应用程序。
请告诉我任何其他可能的解决方案,让我可以在所有方法中实现 Try Catch 并轻松调试我的代码。
【问题讨论】:
-
我希望你不是真的指所有的方法。如果您对所有方法执行此操作,则基本上将异常处理作为一种机制从您的应用程序中删除。你不想那样做。
标签: c# methods delegates lambda try-catch