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.
Attualmente, sto valutando la possibilità di ristrutturare i miei include in modo che contengano solo definizioni di funzioni anziché codice eseguibile. L'idea è che, se un include fallisce durante la fase di definizione, le chiamate successive a quelle funzioni fallirebbero in modo più esplicito.
Tuttavia, mi chiedo se esistano pratiche migliori per gestire questa situazione. Nello specifico:
- Is there a way to make
Include() halt execution if the included script encounters an error?
- Separare le definizioni delle funzioni dal codice eseguibile è l'approccio consigliato oppure esistono altri modelli architetturali più adatti per progetti JSL di grandi dimensioni?
Gradirei qualsiasi suggerimento su come altri strutturano i loro progetti JSL per gestire in modo robusto le dipendenze di inclusione.
Penso che un'opzione sia quella di racchiudere i tuoi include con Try()
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 />