【Boost】boost库asio详解6——boost::asio::error的用法浅析
生活随笔
收集整理的這篇文章主要介紹了
【Boost】boost库asio详解6——boost::asio::error的用法浅析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 概述
一般而言我們創建用于接收error的類型大多聲明如下:[cpp]?view plain?copy ?print?
[cpp]?view plain?copy ?print?
[cpp]?view plain?copy ?print?
[cpp]?view plain?copy ?print?
顯示錯誤很簡單了,std::cout << e.what()
2. 異步調用
產生的異常error的傳遞是個問題,因為異步會立刻返回,局部變量是會被銷毀的。而boost::asio::placeholders::error, 將會保存異常的狀態,這樣我們使用異步調用時如socket::async_write_some的時候不用自己創建boost::system::error_code error了,直接使用boost::asio::placeholders::error作為參數即可,
同理,我們sync_write_some需要返回讀寫數據的大小,令人開心的是boost::asio::placeholders::bytes_transferred直接作為參數就可以保存數據大小。
實例如下:
[cpp]?view plain?copy ?print?
[cpp]?view plain?copy ?print?
3. 同步調用
當然了boost::system::error_code error還用有用的,同步調用的時候我們就用它作為參數。如:[cpp]?view plain?copy ?print?
[cpp]?view plain?copy ?print?
4. 總結
異步就用 boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred同步就用 boost::system::error_code
總結
以上是生活随笔為你收集整理的【Boost】boost库asio详解6——boost::asio::error的用法浅析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Boost】boost库asio详解5
- 下一篇: 【Boost】boost库asio详解7