From 31f1099dc01e5d563333dc29583987162834402e Mon Sep 17 00:00:00 2001 From: Hornwitser Date: Mon, 14 Jun 2021 12:07:59 +0200 Subject: [PATCH] Expect error loading configs (#388) Rethrow error loading configs as StartupError as these are most likely a result of user error. --- packages/ctl/ctl.js | 2 +- packages/master/master.js | 2 +- packages/slave/slave.js | 10 +++++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/ctl/ctl.js b/packages/ctl/ctl.js index 04c50c73..6ddc1d09 100755 --- a/packages/ctl/ctl.js +++ b/packages/ctl/ctl.js @@ -1082,7 +1082,7 @@ async function startControl() { await controlConfig.init(); } else { - throw err; + throw new libErrors.StartupError(`Failed to load ${args.config}: ${err.message}`); } } diff --git a/packages/master/master.js b/packages/master/master.js index ce2bb4ee..4e58b2c8 100755 --- a/packages/master/master.js +++ b/packages/master/master.js @@ -274,7 +274,7 @@ async function initialize() { await parameters.masterConfig.init(); } else { - throw err; + throw new libErrors.StartupError(`Failed to load ${parameters.masterConfigPath}: ${err.message}`); } } diff --git a/packages/slave/slave.js b/packages/slave/slave.js index 11fe8b83..fa53bfde 100755 --- a/packages/slave/slave.js +++ b/packages/slave/slave.js @@ -1777,7 +1777,7 @@ async function startSlave() { await slaveConfig.init(); } else { - throw err; + throw new libErrors.StartupError(`Failed to load ${args.config}: ${err.message}`); } } @@ -1887,6 +1887,14 @@ I version of clusterio. Expect things to break. I if (err instanceof libErrors.AuthenticationFailed) { logger.fatal(err.message); + } else if (err instanceof libErrors.StartupError) { + logger.fatal(` ++-----------------------------------+ +| Unable to to start clusterioslave | ++-----------------------------------+ +${err.stack}` + ); + } else if (err instanceof libErrors.PluginError) { logger.fatal(` ${err.pluginName} plugin threw an unexpected error