投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/3/11 06:18:17
『Object reference not set to an instance of an object.』というのは、
NullReferenceException の例外を意味しています。通常、日本語環境下では、
『オブジェクト参照がオブジェクト インスタンスに設定されていません。』の
エラーメッセージが表示されるはずですが、カルチャが英語になっている場合や
日本語ランタイムが無い環境で動作させると、英語のメッセージになります。


発生させるのは簡単で、「Nothing」な変数に対して、メソッドやプロパティを
呼び出そうとした場合に発生する事が知られています。たとえば、
 Dim s As String = Nothing
 MsgBox(s.Length)
などで、同様のエラーメッセージを発生させることができます。

英語版/日本語版のメッセージを出すなら:
Dim s As String = Nothing
System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("en-us")
Try
    MsgBox(s.Length)
Catch ex As NullReferenceException
    MsgBox(ex.Message)
End Try
System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("ja-jp")
Try
    MsgBox(s.Length)
Catch ex As NullReferenceException
    MsgBox(ex.Message)
End Try