It seems that node.js uses some kind of a threading model to execute what it calls "aynch" code. The trouble with this is I can't catch exceptions that are happening externally in another call stack, so they bubble up to the main thread execution and are caught by a handler.
Does it make sense to stick all of the error handling into the mechanism intended for all uncaught exceptions and stop trying to try/catch in more granular places?
There might be problems doing this. Have a look at: node.js - Dealing with uncaught exceptions