Reading NodeJs exception documentation helps you easily understand what is going on.
In the Error Propagation and Interception section, you can read the following:
Node.js supports several mechanisms for propagating and handling errors that occur while the application is running. How these errors are reported and processed depends entirely on the type of error and the style of the API that is being called.
And answering your question:
Any use of the JavaScript throw mechanism will raise an exception that must be handled by try / catch or the Node.js process will exit immediately.
Thus, basically any unhandled exception will kill the whole node process.
What is where tools like PM2 restart the node application whenever this happens.
Although this is from 2012, I think this is a good article and it's pretty easy to figure out what you should do with uncaught exceptions
source share