web-dev-qa-db-fra.com

Renforcer la référence des codes d'erreur

Est-ce que quelqu'un sait où trouver une référence pour les codes d'erreur boost. En particulier, les codes d'erreur renvoyés par les gestionnaires de socket asynchrones?, Google et les fichiers d'en-tête ont été réglés vides.

28
Gearoid Murphy

Il semble (d'après mes recherches relativement limitées) que ce sont en fait des codes système. Plus d'informations ici: http://en.highscore.de/cpp/boost/errorhandling.html

4
livingtech

J'ai extrait les valeurs d'erreur de asio/error.hpp sous Linux (j'utilise uniquement l'en-tête asio pas boost :: asio au fait), les voici:

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

Si vous souhaitez générer votre propre liste, cela devrait vous faire économiser quelques minutes de copier-coller:

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;
54
KnucklesTheDog

vous voulez très probablement

#include <boost/asio/errors.hpp>

il est inclus dans l'asio documentation .

6
Sam Miller

Utilisez-vous boost :: system? Cela peut apporter un peu de lumière: http://www.boost.org/doc/libs/release/libs/system/doc/index.html

2
rturrado