Ich baue etwas, das javascripts on-the-fly asynchron enthält, was funktioniert, aber ich bin auf der Suche nach der Fehlererkennung zu verbessern (so alle Fehler nicht nur erscheinen von einer Linie in der Nähe des AJAX-Aufruf kommen, die sie nach unten zieht.Verfolgen der Quelllinie eines Fehlers in einem Javascript Eval
Wenn ich eval bin mit einem mehrzeiligen JavaScript-Datei zu bewerten, ist es eine Möglichkeit, die verfolgen ein Fehler Linie auf?
trittvon Wenn ich Referenzen auf die Variablen halte, die ich brauche, wenn ich sie einschließe, habe ich kein Problem festzustellen, in welcher Datei die Fehler auftreten. Mein Problem ist zu bestimmen, welche Zeile der Fehler in auftritt.
Beispiel:
try {
eval("var valid_statement = 7; \n invalid_statement())))");
} catch(e) {
var err = new Error();
err.message = 'Error in Evald Script: ' + e.message;
err.lineNumber = ???
throw err;
}
Wie kann ich feststellen, dass der Fehler dort in der zweiten Zeile aufgetreten? Speziell interessiert mich das in Firefox.
Ich weiß, dass Fehler Objekte haben e.stack
in Mozilla-Browsern, aber die Ausgabe scheint Newlines nicht richtig zu berücksichtigen.
Welche "zweite Zeile" möchten Sie? Sowohl der "eval" als auch der Syntaxfehler in der valuierten Zeichenkette befinden sich in der zweiten Zeile. – matyr
Im Kontext des oben angezeigten Codes, ja. Im Zusammenhang mit dem in der Zeichenfolge eingekapselten Code Ich möchte, dass diese Zeilenumbruch wie in einer Datei analysiert wird, damit ich berichten kann, welche Zeilenfehler in der gelesenen Zeichenfolge auftreten. –