diff --git a/lib/server/tryRequire.js b/lib/server/tryRequire.js index f534089c..5cc069e8 100644 --- a/lib/server/tryRequire.js +++ b/lib/server/tryRequire.js @@ -1,21 +1,23 @@ (function() { 'use strict'; - var Util = require('../util'); - module.exports = function tryRequire(name, options) { var module, o = options || {}, - error = Util.exec.try(function() { + error = tryCatch(function() { module = require(name); }); - if (error) + if (error) { if (o.log) - Util.log(error.message); + console.error(error.message); else if (o.callback) module = exec.bind(null, error); + + if (o.exit) + process.exit(1); + } return module; }; @@ -23,4 +25,16 @@ function exec(error, callback) { callback(error); } + + function tryCatch(fn) { + var ret, error; + + try { + ret = fn(); + } catch(err) { + error = err; + } + + return ret; + } })();