9
Boost.Asio的文件suggests the following exception handling pattern處理:異常在Boost.Asio的
boost::asio::io_service io_service;
...
for (;;)
{
try
{
io_service.run();
break; // run() exited normally
}
catch (my_exception& e)
{
// Deal with exception as appropriate.
}
}
它的問題是,當它處理的異常的情況下是在點丟失。例如,如果我在給定的io_service中有多個套接字會話,我不知道哪一個會導致異常。
什麼是更好的方式來處理來自異步處理程序的異常沒有將它們包裝在try/catch
塊中?