gpt4 book ai didi

c# - 一种抛出异常并记录它的方法

转载 作者:行者123 更新时间:2023-11-30 19:37:28 24 4
gpt4 key购买 nike

我的代码中有很多这样的东西:

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),您的异常将被静默丢弃。
为了解决这个问题,您可以让您的方法也throw异常(但仍然返回它以便调用站点可以编写throw)。

关于c# - 一种抛出异常并记录它的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38063161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com