2017-08-14 12 views
0

私はいつもboostドキュメントが読んでかなりイライラしていて、私の最善の努力にもかかわらず、boost :: ifind_firstの呼び出しでどんな種類の例外がスローされるのか判断できません。ドキュメントノート:boost :: ifind_firstによってどのような例外がスローされますか?

この関数は、しかし、スローされるかもしれません例外のどのタイプにはノートが存在しない強い例外安全保障

を提供します。ですから、私の主な質問は、ifind_firstによってどのような例外がスローされるのかをどうやって判断するのですか?

+1

例外をスローすることはありません。渡すコールバックによってスローされた例外を渡すだけです。 – o11c

答えて

0

あなたが述べたように、彼らの文書はバットでキックを使用する可能性があるので、難しい答えです。ブーストが言うとき、それは言われている:

強い保証はcommit-」フル提供:

この機能は述べ彼らはException-Safety in Generic Componentsに参照のうえいる

強い例外安全保証を提供します「ロールバック」セマンティクスを使用します。 C++標準コンテナの場合は、たとえば、 に例外がスローされた場合、すべてのイテレータが有効なままであることを意味します。また、 のコンテナには、例外 がスローされた前とまったく同じ要素があることもわかります。失敗した場合に影響を与えないトランザクションには、明らかに のメリットがあります。 例外の場合、プログラム状態は単純で予測可能です。 C++の標準ライブラリでは、ノードベースコンテナリスト、セット、マルチセット、マップ、マルチマップの オペレーションのほぼすべてが が強力な保証を提供しています4)。

私はboost::exceptionクラスを使用して、一般的な例外をキャッチし、それを破るべきデータを入力してそこから捨てるものを見つけ出します。

+0

完全な答えではありませんが、私は部分的なものを投稿することは、それを地面から落とすと考えました。 –

関連する問題