|
|
1
11
您应该抛出ArgumentNullException。您正在尝试进行参数验证,因此应该抛出一个调整为参数验证的异常。NullReferenceException不是参数验证异常。这是一个运行时错误。
此外,您永远不应该显式抛出NullReferenceException。这只能由CLR抛出。当显式抛出通常仅由CLR抛出的异常时,会出现微妙的差异。 这也接近于对以下内容的欺骗 |
|
|
2
4
为了和Enumerable LINQ运算符保持一致,请抛出ArgumentNullException(不是NullReferenceException)。 我会在TakeRandom方法中进行验证,因为堆栈跟踪将明确表示TakeRandom反对给定null参数。 |
|
|
3
1
也许我疯了,但既然这是一个论点,我会抛出ArgumentNullException:/ 不过,一般的经验法则是抛出源自系统的异常。可能时出现应用程序异常。NullReferenceException是框架/CLR会抛出的异常。 http://msdn.microsoft.com/en-us/library/system.exception(VS.71).aspx
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |