diff --git a/server/config/index.js b/server/config/index.js index ee0aef5..cf98140 100644 --- a/server/config/index.js +++ b/server/config/index.js @@ -83,23 +83,27 @@ class ConfigManager { } async load() { - if (!this.inited) - throw new Error('not inited'); + try { + if (!this.inited) + throw new Error('not inited'); - if (await fs.pathExists(this.userConfigFile)) { - const data = JSON.parse(await fs.readFile(this.userConfigFile, 'utf8')); - const config = _.pick(data, propsToSave); - - this.config = config; + if (await fs.pathExists(this.userConfigFile)) { + const data = JSON.parse(await fs.readFile(this.userConfigFile, 'utf8')); + const config = _.pick(data, propsToSave); - //сохраним конфиг, если не все атрибуты присутствуют в файле конфига - for (const prop of propsToSave) - if (!Object.prototype.hasOwnProperty.call(config, prop)) { - await this.save(); - break; - } - } else { - await this.save(); + this.config = config; + + //сохраним конфиг, если не все атрибуты присутствуют в файле конфига + for (const prop of propsToSave) + if (!Object.prototype.hasOwnProperty.call(config, prop)) { + await this.save(); + break; + } + } else { + await this.save(); + } + } catch(e) { + throw new Error(`Error while loading "${this.userConfigFile}": ${e.message}`); } }