Objektverweis nicht auf eine Instanz eines Objekts
Wenn ich versuche, öffnen Sie die Seite von meiner IDE in VS 2008-mit "ANSICHT IM BROWSER" - option bekomme ich "Object reference not set to an instance of an object" Fehler.
Dem code bekomme ich diesen Fehler :
XResult = Request.QueryString["res"];
TextBox1.Text = XResult.ToString();
InformationsquelleAutor BumbleBee | 2011-03-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier das problem, dass
XResult
istnull
und wenn Sie anrufenToString
auf es der code erzeugt eineNullReferenceException
. Sie brauchen, um dies zu berücksichtigen, indem Sie eine explizitenull
überprüfenInformationsquelleAutor JaredPar
Wenn Sie öffnen die Seite ohne die "res" query-string dann werden Sie brauchen, um eine überprüfung auf null, bevor Sie etwas tun.
InformationsquelleAutor Chev
Fehler sein könnte, Weil die Anfrage.QueryString-Methode nicht zu finden, die einen Wert für "res" in der url, so dass, wenn Sie versuchen, die "toString" auf ein null-Objekt whrow, die Ausnahme.
InformationsquelleAutor JAiro
Ihr code erwartet einen query-string
http://localhost:xxxx/yourapp?res=yourval
. Es ist nicht in der Adresse an den browser. In der web Abschnitt des Projekts Eigenschaften, die Sie liefern können einen entsprechenden URL. Natürlich stützen Sie Ihren code um dies zu ermöglichen wäre ratsam.InformationsquelleAutor spender
XResult ist bereits ein string, so ruft ToString ist nicht erforderlich. Das sollte auch dein problem lösen.
Es ist bereits ein string und der Aufruf
.ToString()
ist nicht notwendig, aber es wird nicht Ihr problem lösen.Es löst das null-Verweis-Ausnahme, weil die Berufung .ToString() auf einen null-werfen der Ausnahme.
InformationsquelleAutor Tony Casale
Hier das problem, dass XResult null ist, und wenn Sie anrufen
ToString
auf es der code erzeugt eine
NullReferenceException
. Sie brauchen, um dies zu berücksichtigen, indem Sie eine explizite null-check:InformationsquelleAutor mhine
sef,
Wenn das problem mit der Datenbank-Ergebnisse zurückgeben, ich nehme an, es ist in diesem Szenario:
Um dies zu beheben:
Bearbeiten: Hinzugefügt: code-Formatierungs-tags ...
Das Objekt nicht initialisiert wurde, bevor Sie es verwenden.
An der Spitze der code-Datei-Typ:
Let ' s dekonstruieren die Fehlermeldung.
"Objekt-Referenz" bedeutet, dass eine variable, die Sie in Ihrem code verwendet, auf das referenziert ein Objekt. Die Objekt-variable haben könnten, erklärt Sie oder er Sie vielleicht nur mit Hilfe eines deklarierte variable in einem anderen Objekt.
"Instanz des Objekts" Bedeutet, dass das Objekt leer ist (oder in VB sprechen, "Nichts"). Wenn Sie sind den Umgang mit object-Variablen, die Sie haben, um eine Instanz des Objekts vor, die darauf verweisen.
"nicht gesetzt" bedeutet, dass Sie versucht, auf ein Objekt zuzugreifen, aber da war nichts drin für den computer zuzugreifen.
Wenn Sie eine variable erstellen, wie
Alles, was Sie getan haben, war, sagen Sie dem compiler, dass aPerson wird eine person repräsentiert, aber nicht was person.
Können Sie erstellen Sie eine leere Kopie des Objekts, indem mit dem Schlüsselwort "New". Zum Beispiel
Wenn Sie wollen in der Lage sein zu testen, um zu sehen, wenn das Objekt "nichts" von
Hoffe, das hilft!
In der Regel unter dem .NET-runtime, so etwas passiert immer dann, wenn eine variable, die nicht zugewiesen oder zugewiesen der Wert
Nothing
(in VB.Net,null
in C#) ist aufgelöst.Option Strict On
undOption Explicit On
wird helfen bei der Erkennung von Fällen, in denen dies auftreten kann, aber es ist möglich, eine null/Nichts aus einer anderen Funktion aufrufen:und die NullReferenceException ist die Quelle der "Objektverweis nicht auf eine Instanz eines Objekts".
Und wenn Sie denken, dass es Auftritt, wenn keine Daten zurückgegeben werden, aus einer Datenbank-Abfrage, dann sollten Sie vielleicht das Ergebnis testen, bevor Sie eine operation?
Können Sie einen logging-Mechanismus in Anwendung, so können Sie die Ursache des Fehlers. Ein Exception-Objekt hat die StackTrace-Eigenschaft eine Zeichenfolge, die beschreibt den Inhalt des Aufruf-stack, mit der neuesten Methode aufrufen, erscheint als erste. Suchen Sie in es, werden Sie mehr details über das, was könnte die Ursache der Ausnahme.
Beim arbeiten mit Datenbanken, können Sie diese Fehlermeldung erhalten, wenn Sie versuchen, einen Wert zu bilden ein Feld oder eine Zeile, die nicht existiert. d.h. wenn Sie mit datasets und Sie verwenden:
erhalten Sie das Objekt "Verweis nicht auf eine Instanz des Objekts" wenn der Tabellenname nicht vorhanden ist, in das Dataset. Das gleiche für die Zeilen-oder Felder in den Datensätzen.
Gut, Fehler ist, sich zu erklären. Da Sie noch nicht soweit ein code-Beispiel, können wir nur sagen, dass irgendwo in deinem code, verwenden Sie ein Null-Objekt für eine bestimmte Aufgabe. Ich bekam die gleichen Fehler, für die unter code-Beispiel.
Wie Sie sehen können ich werde Klar ein Null-Objekt. Für die bin ich immer Fehler
Überprüfen Sie Ihren code für diesen code im code. Da haben Sie noch nicht code-Beispiel können wir nicht, markieren Sie den code 🙂