测试NullReferenceException(不测试什么)

时间:2012-04-17 20:44:39

标签: .net null nullreferenceexception nothing

我有一个别人写的课,我没有源代码。它有一个由UM支持的属性_UM,一个字符串。在某些情况下,_UMNothing。我希望UM也是Nothing,但当我检查(使用Quick Watch)时,它显示的属性为NullReferenceException。当我尝试测试Nothing时,我的主代码中会出现NullReferenceException。我怎样才能抓住这个条件,以便我能正确处理它?<​​/ p>

If Foo.UM Is Nothing Then
    DoSomething()
End If

...抛出NullReferenceException

1 个答案:

答案 0 :(得分:1)

该属性可能不仅仅返回_UM字段。可能以某种方式使用它,并没有考虑它可能是null。你可以做这样的事情来处理它:

Dim obj = Nothing
Try
    obj = Foo.UM
Catch ex As NullReferenceException
End Try
If obj Is Nothing Then
    DoSomething()
End If