c++ - 在抛出 'std::length_error' 实例后调用终止

标签 c++ activemq

我收到以下异常。不确定是什么原因造成的。

有什么想法吗?

这是我的连接字符串:

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) 

最佳答案

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

关于c++ - 在抛出 'std::length_error' 实例后调用终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8751447/

相关文章:

c++ - 如何在运行时制作 mex 函数 printf?

C++使用宽流读取UTF8缓冲区

C++:vector 中的 shared_ptr 没有更新原始的 shared_ptr

c++ - 如何使用 Qt 插槽中的 QwtPlot 绘图?

c++ - 将功能参数的参数解包到 C++ 模板类

java - ActiveMQ Java消费者抛出传输方案无法识别: [tcp]

node.js - MQTT 和 ActiveMQ 通信

java - 代理网络中的 ActiveMQ JMS 持久主题

java - ActiveMQ:保证将消息传递给消费者

php - STOMP:在发送消息之前检查消费者是否正在运行的方法?