diff --git a/lib/module.js b/lib/module.js index 701d14f49e5..0ae4a4b9c1b 100644 --- a/lib/module.js +++ b/lib/module.js @@ -390,12 +390,8 @@ Module.prototype._compile = function (content, filename) { Module.prototype._loadScriptSync = function (filename) { var content = requireNative('fs').readFileSync(filename, 'utf8'); - var e = this._compile(content, filename); - if (e) { - throw e; - } else { - this.loaded = true; - } + this._compile(content, filename); + this.loaded = true; }; @@ -406,16 +402,18 @@ Module.prototype._loadScript = function (filename, callback) { if (err) { if (callback) callback(err); } else { - var e = self._compile(content, filename); - if (e) { - if (callback) callback(e); - } else { - self._waitChildrenLoad(function () { - self.loaded = true; - if (self.onload) self.onload(); - if (callback) callback(null, self.exports); - }); + try { + self._compile(content, filename); + } catch (err) { + if (callback) callback(err); + return; } + + self._waitChildrenLoad(function () { + self.loaded = true; + if (self.onload) self.onload(); + if (callback) callback(null, self.exports); + }); } }); };