gpt4 book ai didi

.net - 异常工厂的值(value)是什么?

转载 作者:行者123 更新时间:2023-12-04 14:52:12 27 4
gpt4 key购买 nike

在查看从 WCF 库反射(reflect)的一些代码时,我看到了一种用于创建异常的模式:

if(argument == null)
{
throw Error.ArgumentNull("argument");
}

空参数是最简单的示例,其他类型的异常可通过静态错误类获得。

这种工厂模式的值(value)是什么?为什么不使用 new运算符,只需调用 ArgumentNullException构造函数?

最佳答案

我认为主要原因是 .NET 异常消息是本地化的。实际的消息文本需要从字符串资源中检索。最好将这种代码放在一个地方,这样没有人会摸索字符串资源名称。

使用工厂以便可以调整实际异常类型的想法让我觉得没什么用处。这样做会破坏许多客户端代码,无论出于何种原因,这些代码都试图捕获该异常。一旦你发布了抛出特定异常的代码,你就会被它困住。做出明智的选择 :)

关于.net - 异常工厂的值(value)是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3476574/

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