
I'm using boost::asio for sockets, writing a response out to a client.
If the client stops part way through getting the response, then my server process dies:
terminate called after throwing an instance of
'boost::exception_detail::clone_impl<boost::exception_detail::error_in
fo_injector<boost::system::system_error>
' ? what():? Broken pipe
The code though is surrounded by try catch like this:
try { ??? ... } catch ( std::exception& e ) { ??? cout << e.what() << endl; } catch ( ... ) { ???? cout << "unexpected exception" << endl; }
How do I prevent my process from aborting/terminating like this? v
Have you verified that the code inside the try block executes on the same thread that the exception is occuring in?
Not explicitly, how would I do that? thx - Alex