NOEMBLEM/エンブレムが設定されていません。

メールの詳細(メール表示)

件名:

Re: [Q] 複数の例外を捕まえるには?

差出人: USAGI-WRPさん "Usagi Ito"<usagi…>
送信日時 2014/09/10 15:36
ML.NO [cppll:14101]
本文:

適用な制御構造とrethrowないしthrow_with_nested/rethrow_if_nestedを使うよ
うにするとか。

参考:
http://www.cplusplus.com/reference/exception/rethrow_if_nested/

On 2014年09月10日 13:36, Fumiki Fukuda wrote:
> επιστημη@困ったときのcppll頼み です。
>
> 複数の例外がthrowされるシチュエーションがありまして。
> # マルチスレッドなんかだと同時にthrowされるかも、みたいな。
>
> 例外をthrowする側では std::exception_ptr の集合: exception_list を
> throwします。exception_list には begin()/end() があるので内包する
> exception_ptrを列挙できます。そうすると、
>
> try {
> try {
> ここで exception_list がthrowされる
> } catch ( exception_list& errors ) {
> for ( exception_ptr eptr : errors ) {
> std::rethrow_exception(eptr); // [*] 再throw
> }
> } catch ( そのほか ) {
> ...
> }
> } catch ( foo_error& xxx ) {
> // [*]でthrowされたのを捕まえる-1
> } catch ( bar_error& yyy ) {
> // [*]でthrowされたのを捕まえる-2
> }
>
> こんなカンジかしら。
> ...んでもこれだと exception_list のイッコ目が catch
> されたらcatch節を抜けちゃうですよね?
>
> 複数の例外を捕まえるのって、どうやるんでしょ?
>
>
> MLホームページ: http://www.freeml.com/cppll
>
> ----------------------------------------------------------------------
> 夫婦・家族でゆったり≪温泉≫箱根・軽井沢・京都など人気のリゾ
> ート!組数限定企画!早い者勝ち!まずはご応募下さい!
> ■大感謝プラン(1):【平日】  ¥500〜 
> ■大感謝プラン(2):【土・連休】¥1,500〜 
> http://ad.freeml.com/cgi-bin/sa.cgi?id=lJMYm
> ------------------------------------------------------[freeml byGMO]--
>

このエントリーをはてなブックマークに追加
添付:

このメールは下記のメールに対する返信です:

更新順メールリスト