C++相談室 part165at TECH
C++相談室 part165 - 暇つぶし2ch183:デフォルトの名無しさん (ワッチョイ 6d63-H5uA)
24/01/28 12:13:11.85 W0uCnQb30.net
>>182
>catchしようがしまいが、例外が起きて 処理A→B→return となるのは同じだと思うが。
それは問題の認識がおかいし
例えば以下のコードにおいて、スレッドのゾンビを生じさせないためにはfuncB()をtry { } catch () { } は必須になる。
 void bar() {
  funcA();  // スレッドxを起動
  funcB();  // 中でbaz() → foo()の呼び出し
  funcC();  // スレッドxに停止シグナル発酵
  funcD();  // スレッドxの終了待ち
  return;
}
このように一般に例外が飛んでくる関数にはcatchするかしないかの選択権など無い
例外安全なオブジェクト「だけ」で事が済んでいない限り、例外を受けると決めた時点でcatchせねばならない

一方、例外を生じないライブラリの使い方(関数の呼び出し方)を心掛けるかどうか。これなら選択肢がある


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch