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