title: Missing stack trace on node.js uncaughtException generated by throw()
body: <p>I'm trying to catch the stack trace of an node.js uncaughtException and it works fine for different errors but not for throw() statements:</p>
  
  <p>Correct stack trace on exception handling:</p>
  
  <pre><code>$ cat errorFunc.js 
  process.on('uncaughtException', function(exception) {
      console.log('uncaughtException occurred: ' + exception.stack);
  });
  MyError();
  
  $ node errorFunc.js 
      uncaughtException occurred: ReferenceError: MyError is not defined
      at Object.&lt;anonymous&gt; (/home/jolcese/code/WebEnclaves/Server/errorFunc.js:5:1)
      at Module._compile (module.js:456:26)
      at Object.Module._extensions..js (module.js:474:10)
      at Module.load (module.js:356:32)
      at Function.Module._load (module.js:312:12)
      at Function.Module.runMain (module.js:497:10)
      at startup (node.js:119:16)
      at node.js:901:3
  $
  </code></pre>
  
  <p>Missing stack trace on exception caused by throw():</p>
  
  <pre><code>$ cat errorThrow.js 
  process.on('uncaughtException', function(exception) {
      console.log('uncaughtException occurred: ' + exception.stack);
  });
  throw('my error');
  
  $ node errorThrow.js 
  uncaughtException occurred: undefined
  $
  </code></pre>
  
  <p>Any idea why?</p>
  
  <p>Thanks
  Jose</p>
  
  <p>Disclaimer: I know that using process.on('uncaughtException') is a very, very bad thing and I will be punished but using domains is not an option in this code.</p>