прекращение вызова после выброса экземпляра 'std :: length_error' - PullRequest
3 голосов
/ 06 января 2012

Я получаю следующее исключение. и не уверен, что это вызывает.

есть идеи?

вот моя строка подключения:

std :: string brokerURI = "tcp: //127.0.0.1: 61613? WireFormat = stomp";

и это ошибка:

E 05-150926.792540  4680 yfor_lookup4: invalid hostname: <(null)>
Invalid argument
        FILE: decaf/internal/net/tcp/TcpSocket.cpp, LINE: 222
        FILE: decaf/internal/net/tcp/TcpSocket.cpp, LINE: 251
        FILE: decaf/net/Socket.cpp, LINE: 327
        FILE: activemq/transport/tcp/TcpTransport.cpp, LINE: 154
        FILE: activemq/transport/tcp/TcpTransportFactory.cpp, LINE: 117
        FILE: activemq/transport/tcp/TcpTransportFactory.cpp, LINE: 59
        FILE: activemq/core/ActiveMQConnectionFactory.cpp, LINE: 322
terminate called after throwing an instance of 'std::length_error'
  what():  basic_string::_S_create
Aborted (core dumped) 

1 Ответ

3 голосов
/ 06 января 2012

Из вашего сообщения об ошибке кажется, что вы получили пустую строку. Фактическая ошибка, вероятно, вызвана передачей отрицательного размера в конструктор std::string. Это может, например, результат использования результата s.find('?'): если соответствующий символ не найден, возвращается std::string::npos, что обычно является отрицательным числом.

...