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