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_info_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?
 
thx
 
- Alex