4
我今天的讨论关于重构这个(#1)在C#中抛出异常,警卫
public void MyFunc(object myArgument)
{
if(myArgument == null)
throw new ArgumentNullException("myArgument");
....
有了这个(#2)
我的直觉是,#1是为更好原因如下:
- #1比#2更简单,因为它不需要知道Util库,只需要基本的C#知识
- #1不会删除resharper重命名传递给ArgumentNullException构造函数的字符串的能力。
- #2将增加的依赖关系的代码(必须能够访问含有该DLL的DLL)
- 堆栈跟踪不会为#2相同的,因为这将是#1
我这里的问题是: 我的直觉是否正确? 事实上,我们从另一个程序集抛出异常不会在某些情况下变成麻烦?
请问这是否真的和上面的发布版本一样运行? –
@Casper Leon Nielsen:你可以这样做,是的。 – jason