Revert "Fix 'uncaughtException' for top level exceptions"
authorRyan Dahl <ry@tinyclouds.org>
Thu, 1 Jul 2010 18:10:22 +0000 (11:10 -0700)
committerRyan Dahl <ry@tinyclouds.org>
Thu, 1 Jul 2010 18:10:22 +0000 (11:10 -0700)
This reverts commit 8f8dcf8ed63b19a6c20915e12af83a3ad792f1d2.

lib/module.js
src/node.cc
src/node.js
test/simple/test-error-reporting.js
test/simple/test-uncaught-exception.js [deleted file]

index 1a1b01b..b9067d2 100644 (file)
@@ -437,11 +437,9 @@ Module.prototype._waitChildrenLoad = function (callback) {
 
 
 // bootstrap main module.
-exports.runMain = function (filename) {
+exports.runMain = function () {
 
   // Load the main module--the command line argument.
   process.mainModule = new Module(".");
-  process.mainModule.load(filename, function (err) {
-    if (err) throw err;
-  });
+  process.mainModule.loadSync(process.argv[1]);
 }
index f1e47ef..5aa3712 100644 (file)
@@ -1805,8 +1805,9 @@ static void Load(int argc, char *argv[]) {
 
   f->Call(global, 1, args);
 
-  if (try_catch.HasCaught()) {
-    FatalException(try_catch);
+  if (try_catch.HasCaught())  {
+    ReportException(try_catch, true);
+    exit(11);
   }
 }
 
index b3dc069..97b1f1b 100644 (file)
@@ -239,7 +239,7 @@ if (process.argv[1]) {
     process.argv[1] = path.join(cwd, process.argv[1]);
   }
 
-  module.runMain(process.argv[1]);
+  module.runMain();
 } else {
   // No arguments, run the repl
   var repl = module.requireNative('repl');
index c283e7b..46c8982 100644 (file)
@@ -33,14 +33,14 @@ errExec('throws_error.js', function (err, stdout, stderr) {
 });
 
 
-// Trying to JSON.parse(undefined) in nextTick
-errExec('throws_error3.js', function (err, stdout, stderr) {
+// Trying to JSON.parse(undefined)
+errExec('throws_error2.js', function (err, stdout, stderr) {
   assert.ok(/JSON/.test(stderr));
 });
 
 
-// Trying to JSON.parse(undefined)
-errExec('throws_error2.js', function (err, stdout, stderr) {
+// Trying to JSON.parse(undefined) in nextTick
+errExec('throws_error3.js', function (err, stdout, stderr) {
   assert.ok(/JSON/.test(stderr));
 });
 
diff --git a/test/simple/test-uncaught-exception.js b/test/simple/test-uncaught-exception.js
deleted file mode 100644 (file)
index 739d994..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-require('../common')
-
-process.addListener('uncaughtException', function (err) {
-  puts('Caught exception: ' + err);
-});
-
-setTimeout(function () {
-  puts('This will still run.');
-}, 500);
-
-// Intentionally cause an exception, but don't catch it.
-nonexistentFunc();
-puts('This will not run.');