我遇到以下异常。并且不确定是什么导致它。
任何想法?
这是我的连接字符串:
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)
答案 0 :(得分:3)
从您的错误消息中,您似乎最终得到一个空字符串。实际错误可能是通过将负大小传递给std::string
构造函数而产生的。这可以是例如使用s.find('?')
的结果:如果找不到相应的字符,则返回std::string::npos
,通常为负数。