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.
Actualmente, estoy considerando reestructurar mis inclusiones para que solo contengan definiciones de funciones en lugar de código ejecutable. La idea es que, si una inclusión falla durante la fase de definición, las llamadas posteriores a esas funciones fallarán de forma más explícita.
Sin embargo, me pregunto si existen mejores prácticas para gestionar esta situación. En concreto:
- Is there a way to make
Include() halt execution if the included script encounters an error?
- ¿Separar las definiciones de funciones del código ejecutable es el enfoque recomendado o existen otros patrones arquitectónicos que funcionan mejor para proyectos JSL grandes?
Agradecería cualquier idea sobre cómo otros estructuran sus proyectos JSL para manejar dependencias de inclusión de manera sólida.
Creo que una opción es envolver tus inclusiones con Try()
prueba1.jsl
Names Default To Here(1);
show
prueba2.jsl
Names Default To Here(1);
Try(
Include("test1.jsl");
,
Throw(Char(exception_msg));
);<BR /><BR />Show("not executed");<BR />