title: Node Exception Handling
body: <p>What is the best way in node to handle unhandled expections that are coming out of core node code?  I have a background process that runs and crawls web content and will run for long periods of time without issue, but every so often an unexpected exception occurs and I can't seem to gracefully handle it.  The usual culprit appears to be some networking issue (lost connectivity) where the http calls I'm making fail.    All of the functions that I have created follow the pattern of FUNCTION_NAME(error, returned_data), but in the situations where the error occurs I'm not seeing any of the functions I created in the call stack that is printed out, instead its showing some of the core node modules.  I'm not really worried about these infrequent errors and their root cause, the purpose of this posting is just trying to find a graceful way of handling these exceptions.</p>
  
  <p>I've tried putting a try/catch at the top level of my code where everything runs under but it doesn't seem to capture these exceptions.  Is it good practice in node to use try/catch within all the lower level functions that use any core code?  Or is there some way to globally capture all unhandled exceptions?</p>
  
  <p>Thanks</p>
  
  <p>Chris</p>
  
  <p><strong>UPDATED TO ADD STACK</strong></p>
  
  <pre><code>node.js:201
          throw e; // process.nextTick error, or 'error' event on first tick
                ^
  Error: connect Unknown system errno 10060
      at errnoException (net.js:642:11)
      at Object.afterConnect [as oncomplete] (net.js:633:18)
  </code></pre>