global-functions: catch runtime error when loading modules

(cherry picked from commit e74bec7e5b)
This commit is contained in:
Christian Hesse 2022-04-28 09:55:28 +02:00
parent 4cda1281f1
commit 0479f59aa4

View file

@ -1273,7 +1273,11 @@
:foreach Script in=[ / system script find where name ~ "^mod/." ] do={ :foreach Script in=[ / system script find where name ~ "^mod/." ] do={
:local ScriptVal [ / system script get $Script ]; :local ScriptVal [ / system script get $Script ];
:if ([ $ValidateSyntax ($ScriptVal->"source") ] = true) do={ :if ([ $ValidateSyntax ($ScriptVal->"source") ] = true) do={
:do {
/ system script run $Script; / system script run $Script;
} on-error={
$LogPrintExit2 error $0 ("Module '" . $ScriptVal->"name" . "' failed to run.") false;
}
} else={ } else={
$LogPrintExit2 error $0 ("Module '" . $ScriptVal->"name" . "' failed syntax validation, skipping.") false; $LogPrintExit2 error $0 ("Module '" . $ScriptVal->"name" . "' failed syntax validation, skipping.") false;
} }