2012-01-05 153 views
3

我收到以下异常。并不确定是什么原因造成的。在抛出'std :: length_error'实例后终止调用

有什么想法?

这里是我的连接字符串:

的std :: string brokerURI = “TCP://127.0.0.1:61613 wireFormat =蹬”;

,这是错误:

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) 

回答

3

从你的错误消息,似乎你结束了一个空字符串。实际的错误可能是通过将负值传递给std::string构造函数而产生的。这可以例如使用s.find('?')的结果得到结果:如果没有找到相应的字符,则返回std::string::npos,通常为负数。

相关问题