提升错误代码参考

时间:2010-10-04 16:37:01

标签: c++ boost boost-asio

有谁知道在哪里可以找到增强错误代码的参考。特别是,异步套接字处理程序?,Google和grepping头文件返回的错误代码已经调整为空。

5 个答案:

答案 0 :(得分:52)

我从Linux上的asio / error.hpp中提取了错误值(顺便说一下,我只使用了头文件asio而不是boost :: asio),这里是:

asio::error::access_denied 13
asio::error::address_family_not_supported 97
asio::error::address_in_use 98
asio::error::already_connected 106
asio::error::already_started 114
asio::error::broken_pipe 32
asio::error::connection_aborted 103
asio::error::connection_refused 111
asio::error::connection_reset 104
asio::error::bad_descriptor 9
asio::error::fault 14
asio::error::host_unreachable 113
asio::error::in_progress 115
asio::error::interrupted 4
asio::error::invalid_argument 22
asio::error::message_size 90
asio::error::name_too_long 36
asio::error::network_down 100
asio::error::network_reset 102
asio::error::network_unreachable 101
asio::error::no_descriptors 24
asio::error::no_buffer_space 105
asio::error::no_memory 12
asio::error::no_permission 1
asio::error::no_protocol_option 92
asio::error::not_connected 107
asio::error::not_socket 88
asio::error::operation_aborted 125
asio::error::operation_not_supported 95
asio::error::shut_down 108
asio::error::timed_out 110
asio::error::try_again 11
asio::error::would_block 11

如果你想生成自己的列表,这可以节省你几分钟的复制和粘贴:

std::cout << "asio::error::access_denied " << asio::error::access_denied << std::endl;
std::cout << "asio::error::address_family_not_supported " << asio::error::address_family_not_supported << std::endl;
std::cout << "asio::error::address_in_use " << asio::error::address_in_use << std::endl;
std::cout << "asio::error::already_connected " << asio::error::already_connected << std::endl;
std::cout << "asio::error::already_started " << asio::error::already_started << std::endl;
std::cout << "asio::error::broken_pipe " << asio::error::broken_pipe << std::endl;
std::cout << "asio::error::connection_aborted " << asio::error::connection_aborted << std::endl;
std::cout << "asio::error::connection_refused " << asio::error::connection_refused << std::endl;
std::cout << "asio::error::connection_reset " << asio::error::connection_reset << std::endl;
std::cout << "asio::error::bad_descriptor " << asio::error::bad_descriptor << std::endl;
std::cout << "asio::error::fault " << asio::error::fault << std::endl;
std::cout << "asio::error::host_unreachable " << asio::error::host_unreachable << std::endl;
std::cout << "asio::error::in_progress " << asio::error::in_progress << std::endl;
std::cout << "asio::error::interrupted " << asio::error::interrupted << std::endl;
std::cout << "asio::error::invalid_argument " << asio::error::invalid_argument << std::endl;
std::cout << "asio::error::message_size " << asio::error::message_size << std::endl;
std::cout << "asio::error::name_too_long " << asio::error::name_too_long << std::endl;
std::cout << "asio::error::network_down " << asio::error::network_down << std::endl;
std::cout << "asio::error::network_reset " << asio::error::network_reset << std::endl;
std::cout << "asio::error::network_unreachable " << asio::error::network_unreachable << std::endl;
std::cout << "asio::error::no_descriptors " << asio::error::no_descriptors << std::endl;
std::cout << "asio::error::no_buffer_space " << asio::error::no_buffer_space << std::endl;
std::cout << "asio::error::no_memory " << asio::error::no_memory << std::endl;
std::cout << "asio::error::no_permission " << asio::error::no_permission << std::endl;
std::cout << "asio::error::no_protocol_option " << asio::error::no_protocol_option << std::endl;
std::cout << "asio::error::not_connected " << asio::error::not_connected << std::endl;
std::cout << "asio::error::not_socket " << asio::error::not_socket << std::endl;
std::cout << "asio::error::operation_aborted " << asio::error::operation_aborted << std::endl;
std::cout << "asio::error::operation_not_supported " << asio::error::operation_not_supported << std::endl;
std::cout << "asio::error::shut_down " << asio::error::shut_down << std::endl;
std::cout << "asio::error::timed_out " << asio::error::timed_out << std::endl;
std::cout << "asio::error::try_again " << asio::error::try_again << std::endl;
std::cout << "asio::error::would_block " << asio::error::would_block << std::endl;

答案 1 :(得分:6)

你最想要的是

#include <boost/asio/errors.hpp>

它包含在asio documentation中。

答案 2 :(得分:4)

它看起来(从我相对有限的谷歌搜索)就像那些实际上是系统代码。更多信息:http://en.highscore.de/cpp/boost/errorhandling.html

答案 3 :(得分:2)

您使用的是boost :: system吗?这可能会提供一些亮点: http://www.boost.org/doc/libs/release/libs/system/doc/index.html

答案 4 :(得分:0)

没有文件“boost/asio/errors.hpp”但你应该在包含文件中添加“boost/asio/error.hpp”