2012-05-25 28 views
12

estoy detectar errores en el programa de Asio Boost comocódigos de error Boost descripción legible

if (!error) 
{ 
    //do stuff 
} 
else 
{ 
    std::cout << "Error : " << error << std::endl; 
    //handle error 
} 

Pero el error no es legible por humanos (por ejemplo, la conexión al servidor SSL sin certificado da asio.ssl de error: 335544539). ¿Hay alguna forma mejor de mostrar el error?

+0

¿Qué tipo es un error? ¿Qué función está rellenando el campo de error? –

+0

posible duplicado de [¿Cómo descifrar un código de error asio ssl?] (Http://stackoverflow.com/questions/9828066/how-to-decipher-a-boost-asio-ssl-error-code) –

+0

Pruebe esto también: http://stackoverflow.com/questions/2448715/verbosity-in-boost-asio-using-ssl –

Respuesta

19

Si está utilizando probable boost::system::error_code puede llamar:

error.message() 

para transmitir un mensaje más humano para los niños.

Usando operator<< se traduce en:

os << ec.category().name() << ':' << ec.value() 

Here se puede comprobar una descripción detallada de los miembros disponibles en error_code.

Cuestiones relacionadas