Son*_*ngo 1 c# java null nullpointerexception
我在Stackoverflow上多次看到这段代码:
public void doStuff(Object anObject) {
if (anObject == null) {
throw new NullPointerException("anObject can't be null");
}
//rest of the function
}
Run Code Online (Sandbox Code Playgroud)
这是一个针对null参数的保护子句,因为传递null给需要参数为非null的函数将导致a NullPointerException.
我理解保护条件在其他情况下验证参数的重要性(即检查日期范围,负货币值,无效字符串大小等).
但是,在null 具体情况下是不是NullPointerException多余的?这与NullPointerException后来运行时抛出一个不同之处有什么不同?
注意:我用语言无关的方式询问,因为模式本身可以应用于Java和C#.
由于这个问题有C#标签,我将回答有关C#的案例.在这种情况下,当您访问空指针时抛出的内容是NullReferenceException,并且当参数为null时通常抛出的内容是ArgumentNullException.但更重要的是,当您明确检查参数时,您:
NullReferenceException抛出时你会猜到究竟是什么,以及在哪里.| 归档时间: |
|
| 查看次数: |
3495 次 |
| 最近记录: |