2016-05-11 6 views
-1

Ich versuche, diese IF-Anweisung funktionieren, aber ich bekomme diese Fehlerbox. Es besagt, dass NullReferenceException nicht behandelt wurde.unbehandelter Fehler in meiner VB IF-Anweisung

Hier ist meine IF-Anweisung.

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

     Else 

     End If 

Was mache ich falsch?

Dank

Shaun

+3

Siehe insbesondere die Antwort [gewidmet VB] (http://stackoverflow.com/a/26761773/791010). Jeder trifft diesen Fehler irgendwann, die beste Antwort ist, dass Sie sich im Moment nicht so viele Sorgen um diesen speziellen Fehler machen, sondern stattdessen lernen, wie Sie Ihre Debugging-Tools verwenden. (Angesichts des geposteten Codes scheint es, dass Sie 'objWriter' und/oder' URL' nicht instanziiert haben). –

+0

Wenn Sie genau sagen, wo Sie es bekommen, könnte es uns helfen. –

Antwort

-1

Eine Nullreferenceexception Ausnahme ausgelöst, wenn Sie versuchen, ein Mitglied auf einer Art zuzugreifen, deren Wert null. Eine NullReferenceException-Ausnahme spiegelt normalerweise einen Entwicklerfehler wider und wird ausgelöst, wenn Sie vergessen haben, einen Referenztyp zu instanziieren.

In Ihrem Beispiel kann es in Ermangelung von Hinweisen auf die Zeile, in der die Ausnahme ausgelöst wird, möglicherweise überall sein, wo der Code versucht, eine der Variablen ObjWriter, CodeLine32, CodeLine24 oder URL zu verwenden.

Unter der Annahme, dass objWriter nicht instanziiert wurde, müssen Sie eine Instanz von objWriter erstellen, bevor es mit:

 
     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 
+0

Wem meine Antwort zuwinkt, es wäre konstruktiver, den Grund Ihrer Wahl anzugeben. Ich stimme zu, dass meine Antwort auf der Annahme basiert, dass der Code fehlschlägt, weil der ObjWriter nicht initialisiert wird. –