我遇到了当前正在处理的项目的问题。开发人员为try块添加了多个catch块。每个捕获记录错误,然后重新抛出它。事情是这样的:如何处理重新抛出并记录多次的异常
catch (OdbcException ex)
{
ex.Data.Add("CodeSource", MethodBase.GetCurrentMethod().Name);
ex.Data.Add("My Value", myValue);
Common.Logger.LogError(ex, "DataAccess");
throw;
}
catch (Exception ex)
{
ex.Data.Add("CodeSource", MethodBase.GetCurrentMethod().Name);
ex.Data.Add("My Value", myValue);
Common.Logger.LogError(ex, "DataAccess");
throw;
}
最重要的是,调用类也可能有catch块做samething。所以日志文件是一团糟。我已经看到多达5个相同的消息记录。
无论如何,我可以只记录一次错误,而无需到处更改代码?可悲的是,这个项目已接近尾声,因此他们不需要花费额外的时间来做正确的事情。 > <
我喜欢这个,但是如果我抛出丢失异常的数据不是数据;? –