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.
J'envisage actuellement de restructurer mes fichiers d'inclusion afin qu'ils ne contiennent que des définitions de fonctions plutôt que du code exécutable. L'idée est que si une inclusion échoue lors de la phase de définition, les appels suivants à ces fonctions échoueront plus explicitement.
Cependant, je me demande s'il existe de meilleures pratiques pour gérer cette situation. Plus précisément :
- Is there a way to make
Include() halt execution if the included script encounters an error?
- Est-il recommandé de séparer les définitions de fonctions du code exécutable, ou existe-t-il d'autres modèles architecturaux plus adaptés aux grands projets JSL ?
Je serais reconnaissant de tout éclairage sur la manière dont les autres structurent leurs projets JSL pour gérer efficacement les dépendances d'inclusion.
Je pense qu'une option consiste à envelopper vos inclusions avec 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 />