Fix: uncaughtException was broken for main module

See: 635986e433
This commit is contained in:
Felix Geisendörfer 2010-09-07 16:38:43 +02:00 committed by Ryan Dahl
parent 17f3ffa633
commit ef54777fa5
3 changed files with 20 additions and 5 deletions

View File

@ -749,7 +749,11 @@ if (process.argv[1]) {
process.argv[1] = path.join(cwd, process.argv[1]);
}
module.runMain();
// REMOVEME: nextTick should not be necessary. This hack to get
// test/simple/test-exception-handler2.js working.
process.nextTick(function() {
module.runMain();
});
} else {
// No arguments, run the repl
var repl = module.requireNative('repl');

View File

@ -1,9 +1,8 @@
before
*.js:*
*cript.runIn*Context(*);
*^
node.js:*
throw e;
^
ReferenceError: foo is not defined
at evalmachine.<anonymous>:*
at *test/message/undefined_reference_in_new_context.js:*
@ -11,4 +10,6 @@ ReferenceError: foo is not defined
at Module._loadScriptSync (node.js:*)
at Module.loadSync (node.js:*)
at Object.runMain (node.js:*)
at Array.<anonymous> (node.js:*)
at EventEmitter._tickCallback (node.js:*)
at node.js:*

View File

@ -1,11 +1,21 @@
common = require("../common");
assert = common.assert
process.on('uncaughtException', function (err) {
console.log('Caught exception: ' + err);
});
var timeoutFired = false;
setTimeout(function () {
console.log('This will still run.');
timeoutFired = true;
}, 500);
process.on('exit', function() {
assert.ok(timeoutFired);
});
// Intentionally cause an exception, but don't catch it.
nonexistentFunc();
console.log('This will not run.');