Vb.net 我的VB IF语句中未处理的错误

Vb.net 我的VB IF语句中未处理的错误,vb.net,Vb.net,我试图使这个IF语句工作,但我得到了这个错误框。它说NullReferenceException未处理 这是我的IF声明 If URL.Contains("www") = True Then objWriter.Write(codeLine23) objWriter.WriteLine() objWriter.Write(codeLine24) objWriter.WriteLine(

我试图使这个IF语句工作,但我得到了这个错误框。它说NullReferenceException未处理

这是我的IF声明

        If URL.Contains("www") = True Then
            objWriter.Write(codeLine23)
            objWriter.WriteLine()
            objWriter.Write(codeLine24)
            objWriter.WriteLine()
            objWriter.Write(URL)
            objWriter.WriteLine()

        Else

        End If
我做错了什么

谢谢


Shaun

当您尝试访问值为null的类型上的成员时,将引发NullReferenceException异常。NullReferenceException异常通常反映开发人员错误,并在忘记实例化引用类型时引发

在您的示例中,如果没有关于引发异常的行的指示,那么它可能位于代码使用任何objWriter、codeLine32、codeLine24或URL变量进行尝试的任何位置

假设未实例化objWriter,则需要在使用它之前创建objWriter的实例:

If URL.Contains("www") = True Then If ()objWriter Is Nothing) Then objWriter = New System.IO.StreamWriter( FILE_NAME ) endif objWriter.Write(codeLine23) objWriter.WriteLine() objWriter.Write(codeLine24) objWriter.WriteLine() objWriter.Write(URL) objWriter.WriteLine() Else End If 如果URL.Contains(“www”)=True,则 如果()objWriter什么都不是),那么 objWriter=New System.IO.StreamWriter(文件名) 恩迪夫 objWriter.Write(代码行23) objWriter.WriteLine() objWriter.Write(代码行24) objWriter.WriteLine() objWriter.Write(URL) objWriter.WriteLine() 其他的 如果结束
请特别注意答案。每个人都会在某个时候遇到这个错误,最好的答案是你现在不要太担心这个错误,而是去学习如何使用你的调试工具。(考虑到发布的代码,您似乎没有实例化
objWriter
和/或
URL
)。准确地告诉您从哪里得到它可能会对我们有所帮助。@JamesThorpe感谢您的建议。对于投票否决我的答案的人,指出您投票的原因会更有建设性。我同意我的回答是基于这样一个假设,即由于objWriter未初始化,代码失败。