2012-01-05 152 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,通常爲負數。

相關問題