Betreff: Python: Fehlermeldung erhalten?Im Moment ist es die beste Option, den Python-Aufruf in ein Try() zu verpacken.Dies wird definitiv als Problem erfasst, und es bedarf einiger Untersuchungen, um zu sehen, was getan werden kann.
Betreff: Python: Fehlermeldung erhalten?Mir wurde gesagt, dass sie daran arbeiten. Ich konnte Python-Code mit zusätzlichem try/außer erstellen, um unerwartete Fehler als Fehlermeldung an JMP zurückzugeben. Aus Browser-Scripting mit Python Selenium
Python Init(); // one-time startup...
// 0: startup
xrc = Python Execute( {}, {By_ID, By_XPATH, rc},
"\[
try:
from selenium import webdriver
...
By_XPATH = By.XPATH
rc = "ok"
except Exception as e:
rc = repr(e)
]\"
);
If( xrc != 0 | rc != "ok", Throw( "start up Selenium failed" || Try( ": " || Char( rc ), "" ) ) );
Ich stimme zu, dass Wrapper in die Ausführungsschnittstelle eingebaut werden sollte. Und soweit ich mich erinnere, gab es eine Art Fehler, den es nicht abfängt, aber es machte das Debuggen viel angenehmer.
Betreff: Python: Fehlermeldung erhalten?Erstaunlich - vielen Dank!
Es lohnt sich auf jeden Fall, in die nächste Version einzusteigen 
@SamGardner ?
Vorerst werde ich alle meine ersetzen Python-Senden () mit Python-Versuch () 
Bitte nicht den einzigen zusätzlichen Einzug in he Code passend zum versuchen in der Python-Try-Funktion - zumal diese Implementierung der Fehlerweiterleitung keine Möglichkeit hat, darauf zu reagieren Vertiefung Fehler (sowie alle anderen Fehler, die erkannt werden Vor Ausführen des Codes *).
Ich denke, dass das Jmp-Team es robuster implementieren wird ...
*) Also, wenn Sie eine Fehlermeldung wie diese haben

es könnte ein Einzugsfehler sein. Hüten Sie sich vor der Verwendung von Skript neu formatieren Funktion 
Python Init();
Python Try = Function( {code},
xrc = Python Execute(
{},
{rc},
"try:" || code || "\[
rc = "ok"
except Exception as e:
rc = repr(e)
]\"
);
If( xrc != 0 | rc != "ok",
Throw( "Python error !
" || Try( Char( rc ), "" ) )
);
);
Python Try( "
print(0)" );
Python Try( "
print(xxx)" );
Python Term()
Betreff: Python: Fehlermeldung erhalten?Ein weiterer Trick für das Python-Debugging:
Anstatt
Python Submit("\[
Lorem ipsum dolor sit ametERROR IS HERE, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
]\")Teilen Sie den Code ab, indem Sie ihn als Paket einfügen:
Python Submit("<BR />import loremIpsum as li
li()<BR />");Dann können Sie das gleiche Paket parallel in eine importieren pythonText.py Datei und überprüfen Sie, ob alle Funktionen wie erwartet ausgeführt werden.
Dann kann das JSL-Debugging auf den Schnittstellenteil reduziert werden.
Zusätzlicher Vorteil:
Sie können den Code des loremIpsum-Pakets in Ihrem bevorzugten Python-Texteditor mit Syntaxhervorhebung und anderen Gimmicks bearbeiten.
Python: Fehlermeldung erhalten?Die Python-Integration in jmp ist sehr nützlich.
Zum Debuggen - wenn ich einen Befehl in Python ausführe über
Python Submit()
und erhalten einen Rückgabewert von -1, was darauf hinweist, dass etwas schiefgelaufen ist.
Gibt es eine Möglichkeit die Fehlermeldung zu bekommen?
zB eine automatisch aktualisierte Python-Variable, die ich über
Python Get(PythonErrorMessage)
#meineTop10_2022
-> JMP 18 : )
Automatisierung und SkriptingBetreff: Python: Fehlermeldung erhalten?Wie Craige angedeutet hat, ist die Verwendung von try: außer: die beste Option. Es ist auch eine großartige Programmierübung, sich eine Gewohnheit anzueignen.
Schon bald werden wir JMP 18 in Manchester vorstellen. Ich glaube, Sie werden angenehm überrascht sein. Es wurden erhebliche Anstrengungen unternommen, um die Python-Integration zu aktualisieren und zu verbessern.
Bleiben Sie dran...
Betreff: Python: Fehlermeldung erhalten?Sehr cool die neue reibungslose Integration von Python in Jmp.