From ac2f99eb75ea0295dc08e47b91f4b4d54829d004 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Sun, 7 Feb 2016 12:01:40 +0100 Subject: [PATCH] Don't use process.exit, throw an error instead --- initializers/checker.js | 4 +--- initializers/database.js | 3 +-- lib/webtorrent.js | 6 ++---- lib/webtorrentProcess.js | 3 +-- server.js | 6 ++---- 5 files changed, 7 insertions(+), 15 deletions(-) diff --git a/initializers/checker.js b/initializers/checker.js index 9a7d04ed4..ec7bc0ad2 100644 --- a/initializers/checker.js +++ b/initializers/checker.js @@ -36,9 +36,7 @@ function createDirectoriesIfNotExist () { try { mkdirp.sync(path.join(__dirname, '..', dir)) } catch (error) { - // Do not use logger - console.error('Cannot create ' + path + ':' + error) - process.exit(0) + throw new Error('Cannot create ' + path + ':' + error) } } } diff --git a/initializers/database.js b/initializers/database.js index 6e3f11df3..a917442ec 100644 --- a/initializers/database.js +++ b/initializers/database.js @@ -16,8 +16,7 @@ var database = { function connect () { mongoose.connect('mongodb://' + host + ':' + port + '/' + dbname) mongoose.connection.on('error', function () { - logger.error('Mongodb connection error.') - process.exit(0) + throw new Error('Mongodb connection error.') }) mongoose.connection.on('open', function () { diff --git a/lib/webtorrent.js b/lib/webtorrent.js index 5f10322a5..cb641fead 100644 --- a/lib/webtorrent.js +++ b/lib/webtorrent.js @@ -43,8 +43,7 @@ function create (options, callback) { // Run a timeout of 30s after which we exit the process var timeout_webtorrent_process = setTimeout(function () { - logger.error('Timeout : cannot run the webtorrent process. Please ensure you have electron-prebuilt npm package installed with xvfb-run.') - process.exit() + throw new Error('Timeout : cannot run the webtorrent process. Please ensure you have electron-prebuilt npm package installed with xvfb-run.') }, 30000) ipc.server.on(processKey + '.ready', function () { @@ -54,8 +53,7 @@ function create (options, callback) { }) ipc.server.on(processKey + '.exception', function (data) { - logger.error('Received exception error from webtorrent process.', { exception: data.exception }) - process.exit() + throw new Error('Received exception error from webtorrent process.' + data.exception) }) var webtorrent_process = spawn(pathUtils.join(__dirname, 'webtorrentProcess.js'), host, port, { detached: true }) diff --git a/lib/webtorrentProcess.js b/lib/webtorrentProcess.js index 96ebf9d02..7ba2dd3d9 100644 --- a/lib/webtorrentProcess.js +++ b/lib/webtorrentProcess.js @@ -5,8 +5,7 @@ function webtorrent (args) { var ipc = require('node-ipc') if (args.length !== 3) { - console.log('Wrong arguments number: ' + args.length + '/3') - process.exit(-1) + throw new Error('Wrong arguments number: ' + args.length + '/3') } var host = args[1] diff --git a/server.js b/server.js index 6312a4048..c971982b3 100644 --- a/server.js +++ b/server.js @@ -18,9 +18,7 @@ var checker = require('./initializers/checker') var miss = checker.checkConfig() if (miss.length !== 0) { - // Do not use logger module - console.error('Miss some configurations keys.', { miss: miss }) - process.exit(0) + throw new Error('Miss some configurations keys : ' + miss) } checker.createDirectoriesIfNotExist() @@ -145,7 +143,7 @@ peertubeCrypto.createCertsIfNotExist(function (err) { } function exitGracefullyOnSignal () { - process.exit() + process.exit(-1) } process.on('exit', cleanForExit) -- 2.25.1