AS3 -TypeError #1009 - eine einfache Möglichkeit, um herauszufinden, *welche* die Objekt-Referenz null ist?
Wir alle "TypeError #1009 Nicht Zugriff auf eine Eigenschaft oder eine Methode eines null-objektverweises" jetzt-und-dann - keine große Sache, aber manchmal frustrierend, zu Debuggen.
Flash gibt Sie den call-stack (das ist ein Anfang), sondern überlässt es Ihnen, um herauszufinden, wo das null-Objekt ist - ist es möglich, herauszufinden, genau, welche Referenz wirft den Fehler?
Gegeben der folgende (Fehler-anfällig) Funktion:
function nullObjectReferenceError():void
{
var obj:Object;
var prop:* = obj.nonExistentProperty;
}
Anstatt nur den call-stack von der TypeError, ich möchte die Spur etwas wie: "Nicht Zugriff auf eine Eigenschaft oder eine Methode eines null-objektverweises auf obj.nonExistentProperty" - Ist das überhaupt möglich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die Option "Debugging Erlauben" unter Einstellungen für Veröffentlichungen in der Flash IDE gibt es Sie, die Nummer der Zeile, in der Ihr code den Fehler verursacht.
Ist die offensichtliche Lösung ist zu stoppen Verwendung solcher generischer Fehler-anfällig-code in den ersten Platz. Sie sollten nie verwenden Sie ' * ' - Typ, und fast nie verwenden sollten 'Objekt' Art.
Fangen es zur Laufzeit, konnte man immer sagen:
TypeError
wird nicht geben Ihnen weitere Informationen, wenn Sie es fangen.Soweit ich weiß, gibt es keinen bekannten Weg, dies zu erreichen (ich.e die Objekt warf, der den Fehler).
Ihre beste Wette, um einen Haltepunkt zu Beginn der Funktion an und untersuchen Sie die Variablen manuell. Das ist, was ich Tue, und das funktioniert ziemlich gut für mich.