2

オブジェクトのインスタンスをテストしようとしていますが、VB は puke して例外をスローします。

Conversion from string "" to type 'Boolean' is not valid.

これが私がテストしている方法です:

Dim objGA As New Gatherer.Gathered("", -1)
objGA = objGatherers(idx) 
If Not objGA Is Nothing Then  <--exception occurs here
   ' Do something here

End If

このチェックを行わないと、次のようになります。

Object reference not set to an instance of an object.

objGAが文字列ではなくオブジェクトであることを考えると、最初のエラーがわかりません!

他にどのようにこのテストを実行すればよいですか? チェックする一貫した方法はありますか?

4

3 に答える 3

2
If objGA IsNot Nothing Then
    ' put some code here...
End If

MSDN: IsNot オペレーター

于 2013-10-22T11:06:16.810 に答える
0

これを試して:

    Dim objGA As New Gatherer.Gathered("", -1)
    Stop 'examine objGA
    objGA = objGatherers(idx)
    Stop 'examine objGA

最初に objGA は「収集されたオブジェクト」ですか? 最初の行を入力すると、戻り値の型がわかりますか?

于 2013-10-22T11:53:24.177 に答える
0

これを試して。

IsDBNull(oValue)メソッド を使用して null オブジェクトをチェックしてみてください。IsDBNullnull値をチェックする組み込み関数です。

Dim oValue As Object
Dim DefaultValue As Object
    If IsDBNull(oValue) Then
        Return DefaultValue
    Else
        Return oValue
    End If
于 2013-10-22T10:48:55.260 に答える