在抛出 'std::length_error' 的实例后调用终止
Posted
技术标签:
【中文标题】在抛出 \'std::length_error\' 的实例后调用终止【英文标题】: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)
【问题讨论】:
【参考方案1】:从您的错误消息看来,您最终得到了一个空字符串。实际错误可能是通过将负大小传递给std::string
构造函数而产生的。这可以例如使用s.find('?')
的结果:如果没有找到对应的字符,则返回std::string::npos
,通常为负数。
【讨论】:
以上是关于在抛出 'std::length_error' 的实例后调用终止的主要内容,如果未能解决你的问题,请参考以下文章
关于在抛出 'std::length_error' 实例后调用终止
在抛出 'std::length_error' what(): basic_string::_S_create 的实例后调用终止
c++ 中的错误:“在抛出 'std::length_error'what() 的实例后调用终止:basic_string::_M_replace_aux”
理解错误“在抛出 'std::length_error'what() 实例后调用终止:basic_string::_S_create Aborted (core dumped)”
抛出“std::length_error”实例后调用 C++ 终止,what(): basic_string::_M_create