【问题标题】:terminate called after throwing an instance of 'std::length_error'在抛出 'std::length_error' 的实例后调用终止
【发布时间】:2012-01-05 23:30:43
【问题描述】:

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

有什么想法吗?

这是我的连接字符串:

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) 

【问题讨论】:

    标签: c++ activemq


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多