2012-01-05 36 views
3

次の例外が発生します。何が原因かわからない'std :: length_error'のインスタンスをスローした後にterminateが呼び出される

ここ

は私の接続文字列です:

のstd ::文字列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が返されます。

関連する問題