title: Node.js: console.log message doesn't show up if method throws exception... why?
body: <p>In Node.js, if I have a method that throws an exception, console.log statements from that method don't fire. I recognize that in the simple test case below that I should catch the exception from the readFileSync call, or otherwise be defensive about it. Just curious if someone could explain the behavior to me. </p>
  
  <p>Simple test case:</p>
  
  <pre><code>var fs = require('fs');
  
  function readAFileThatDoesntExist(filename) {
      console.log(filename);
      fs.readFileSync(filename);
  }
  
  console.log("We're about to read a file that doesn't exist!");
  readAFileThatDoesntExist("afile");
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>$ node test.js
  We're about to read a file that doesn't exist!
  
  fs.js:338
    return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                   ^
  Error: ENOENT, no such file or directory 'C:\blog\projects\bloggen\scripts\afile'
      at Object.fs.openSync (fs.js:338:18)
      at Object.fs.readFileSync (fs.js:182:15)
      at readAFileThatDoesntExist (C:\blog\projects\bloggen\scripts\test.js:5:8)
      at Object.&lt;anonymous&gt; (C:\blog\projects\bloggen\scripts\test.js:9:1)
      at Module._compile (module.js:449:26)
      at Object.Module._extensions..js (module.js:467:10)
      at Module.load (module.js:356:32)
      at Function.Module._load (module.js:312:12)
      at Module.runMain (module.js:492:10)
      at process.startup.processNextTick.process._tickCallback (node.js:244:9)
  </code></pre>