C# 抛出异常并记录它的一种方法
我的代码中有很多这样的内容:C# 抛出异常并记录它的一种方法,c#,.net,C#,.net,我的代码中有很多这样的内容: if (labelType == null) { var errorMessage = "Invalid Label Type Id Look up: " + labelTypeId; log.Error(errorMessage); throw new ApplicationException(errorMessage); } 我想这样做: FailureActions.Fail("Invalid Label Type Id Look u
if (labelType == null)
{
var errorMessage = "Invalid Label Type Id Look up: " + labelTypeId;
log.Error(errorMessage);
throw new ApplicationException(errorMessage);
}
我想这样做:
FailureActions.Fail("Invalid Label Type Id Look up: " + labelTypeId);
而Fail
方法将封装上述逻辑
但这会扰乱流量控制逻辑。编译器不再意识到我正在抛出异常
是否有其他方法压缩此代码?(与编译器的流分析一起使用)使记录器方法返回异常 然后你就可以写了
throw FailureActions.Fail("Invalid Label Type Id Look up: " + labelTypeId);
请注意,如果您忘记在调用站点添加throw
(特别是如果您的方法返回void),那么您的异常将被默默地丢弃。为了帮助实现这一点,您可以使您的方法也
抛出
异常(但仍然返回它,以便调用站点可以编写抛出
)。工作得非常好。谢谢