Open ASBaj opened 5 years ago
Turns out the error can be caught, with this:
process.on('uncaughtException', function (err) { console.log('UNCAUGHT EXCEPTION - keeping process alive:', err); // err.message is "foobar" });
Found it somewhere on StackExchange. Does the job, but I still think it would be better if we had a way to catch this without having to do a generic catch-all.
@ASBaj why did you reopen?
Because the process.on event I linked earlier catches all uncaught exceptions, irrespective of their source. According to a variety of opinions I read, this is not considered to be best practice; if an unhandled exception occurs, the program should crash, and the individual exception should be dealt with, and hence, we should have a way to catch this specific exception.
I have the same issue, is there any solution for this problem. I need to catch the error and know which socket cause the problem (the source) because I have multiple client socket to different servers.
Any update on this issue after 2 years?
You want to:
Current behaviour
What is actually happening? When an unhanded websocket error is thrown (transport.js 64), there does not appear to be a way to prevent the node.js application from crashing.
Steps to reproduce (if the current behaviour is a bug)
Expected behaviour
The socket.io client would disconnect, and then go into a reconnecting state.
Setup