Heim  >  Artikel  >  Backend-Entwicklung  >  Ein Problem, das sowohl Anfänger als auch Veteranen nicht vermeiden können – kein Objektverweis auf eine Instanz des Objekts zu setzen

Ein Problem, das sowohl Anfänger als auch Veteranen nicht vermeiden können – kein Objektverweis auf eine Instanz des Objekts zu setzen

黄舟
黄舟Original
2017-02-23 10:09:042838Durchsuche

„Der Objektverweis ist nicht auf die Instanz des Objekts festgelegt.“ Ich glaube, dass jeder, der Code geschrieben hat, unabhängig von seinem Kenntnisstand auf dieses Problem stoßen wird. Dieser Satz bedeutet, dass wir das Objekt vor dem Verweisen nicht festgelegt haben das Objekt. Dies wird normalerweise dadurch verursacht, dass das Objekt, auf das wir verweisen, leer ist. Dieses Problem tritt häufig auf, wenn wir Parameter übergeben. Zu diesem Zeitpunkt müssen wir prüfen, ob die von uns aufgerufenen Parameter leer sind.

Folgendes ist das Problem, auf das ich gestoßen bin:

Ich bin dabei Bei der dreistufigen Architektur trat das Problem auf, als Schicht B die Schnittstelle aufrief. Ich habe analysiert, dass die aufgerufene Schnittstelle nicht erfolgreich erstellt wurde, weil ich die Schnittstelle über eine abstrakte Fabrik erstellt habe. Die Fehlerpunkte lauten wie folgt:

Klassen im Code Der Name unterscheidet sich vom tatsächlichen Klassennamen. Es gibt hier eine zusätzliche 1. Obwohl es sich um einen Flüchtigkeitsfehler handelt, muss das Prinzip dieses Fehlers geklärt werden. Diesmal handelt es sich möglicherweise nur um einen anderen Klassennamen, beim nächsten Mal ist dies jedoch möglicherweise nicht der Fall. Ich habe im Internet weitere mögliche Gründe für diesen Fehler gefunden.

1. Das ViewState-Objekt ist Null.

2. DateSet ist leer.

3. Der DataReader ist aufgrund einer SQL-Anweisung oder einer Datebase leer.

4. Wenn Sie eine Zeichenfolgenvariable deklarieren, wenden Sie die Variable an, ohne einen Nullwert zuzuweisen.

5. Das Objekt wird nicht mit new initialisiert.

6. Das Session-Objekt ist leer.

7. Beim Zuweisen eines Textwerts zu einem Steuerelement ist der Wert nicht vorhanden.

8. Bei Verwendung von Request.QueryString() existiert das erhaltene Objekt nicht oder es wird kein Anfangswert zugewiesen, wenn der Wert leer ist.

9. Bei Verwendung von FindControl ist das Steuerelement nicht vorhanden, aber es wird keine Vorverarbeitung durchgeführt.

10. Eine doppelte Definition führt zu einem Fehler, der besagt, dass die Objektreferenz nicht auf die Instanz des Objekts festgelegt ist.

Das oben genannte Problem ist sowohl für Anfänger als auch für Veteranen nicht zu vermeiden – die Objektreferenz wird nicht auf eine Instanz des Objekts gesetzt, bitte Achten Sie auf die chinesische PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:ASP.NET-SeitenübergabewertNächster Artikel:ASP.NET-Seitenübergabewert