I'm working on a large JSL project that uses many Include() calls to organize the code. I've run into an issue where if one of the included scripts fails, the main script continues executing, which can lead to cascading errors or unexpected behavior.
Aktuell überlege ich, meine Include-Dateien so umzustrukturieren, dass sie nur noch Funktionsdefinitionen anstatt ausführbaren Codes enthalten. Der Gedanke dahinter ist, dass im Falle eines Fehlers während der Definitionsphase nachfolgende Aufrufe dieser Funktionen explizit fehlschlagen würden.
Ich frage mich jedoch, ob es bessere Vorgehensweisen für den Umgang mit dieser Situation gibt. Konkret:
- Is there a way to make
Include() halt execution if the included script encounters an error?
- Ist die Trennung von Funktionsdefinitionen und ausführbarem Code der empfohlene Ansatz, oder gibt es andere Architekturmuster, die für große JSL-Projekte besser geeignet sind?
Ich wäre dankbar für jegliche Einblicke, wie andere ihre JSL-Projekte strukturieren, um Include-Abhängigkeiten robust zu handhaben.
Ich denke, eine Möglichkeit wäre, Ihre Include-Anweisungen mit Try() zu umschließen.
test1.jsl
Names Default To Here(1);
show
test2.jsl
Names Default To Here(1);
Try(
Include("test1.jsl");
,
Throw(Char(exception_msg));
);<BR /><BR />Show("not executed");<BR />