<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Wie kann man den Parse-Fehler ("a + b)" passieren? Ich habe Try () probiert, aber es hat nicht funktioniert ..
Vielen Dank für diesen Tipp. Dies hilft, die Protokolldatei sauber zu halten.
Danke, Graige. Ich habe versucht, eine Formel aus einer Excel-Tabelle zu analysieren, in der die Benutzer ihre Formel eingeben. Manchmal gibt es jedoch Tippfehler.
Versuchen Sie dies, um die unerwünschte Nachricht aus dem Protokoll herauszuhalten:
exp = 0;
cap = 0;
cap = Log Capture (// erfasst alles, was in das Protokoll geschrieben wurde
exp = Try (//
Parse ("a + b)"); // parse wird AND schreiben und protokollieren
.
42; // Wenn die Jsl nicht analysiert werden kann
)
);
Show (exp, cap); // zeig was passiert ist
exp = 42;
cap = " <<< Dies ist die erfasste Fehlermeldung, die Sie nicht ausdrucken müssen
Unerwartetes \! ") \!". Vielleicht fehlt ein \! "; \!" oder \!",\!".
Zeile 1 Spalte 4: a + b►)
Der übrige ignorierte Text war
) ";
Ich brauchte ein paar Versuche, um das richtig zu machen; Das LogCapture muss sich außerhalb des Versuchs befinden, um die gewünschten Ergebnisse zu erzielen. Das Festlegen von cap und exp auf null ist nicht erforderlich. Dies war Teil meiner JSL-Fehlersuche. Sie werden beide durch try und logCapture festgelegt.
Es gibt einige andere JSL-Funktionen mit diesem Verhalten, und LogCapture funktioniert auch für sie.
Das Parsen der Zeichenfolge "a + b)" führt zu einem Fehler aufgrund unausgeglichener Klammern. Können Sie mehr Kontext zu dem geben, was Sie zu tun versuchen?