[過去ログ] C++相談室 part165 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
182(1): デフォルトの名無しさん (ワッチョイ 66cf-5eDQ) [sage] 2024/01/28(日) 12:02:32.93 ID:Gsm093HM0(1/3) AAS
catchしようがしまいが、例外が起きて 処理A→B→return となるのは同じだと思うが。
その場合の検証が必要だというならどっちも必要だろ。
186(1): デフォルトの名無しさん (ワッチョイ 66cf-5eDQ) [sage] 2024/01/28(日) 12:28:00.13 ID:Gsm093HM0(2/3) AAS
>>183183(6): デフォルトの名無しさん (ワッチョイ 6d63-H5uA) [sage] 2024/01/28(日) 12:13:11.85 ID:W0uCnQb30(3/4) AAS
>>182
>catchしようがしまいが、例外が起きて 処理A→B→return となるのは同じだと思うが。
それは問題の認識がおかいし
例えば以下のコードにおいて、スレッドのゾンビを生じさせないためにはfuncB()をtry { } catch () { } は必須になる。
void bar() {
funcA(); // スレッドxを起動
funcB(); // 中でbaz() → foo()の呼び出し
funcC(); // スレッドxに停止シグナル発酵
funcD(); // スレッドxの終了待ち
return;
}
このように一般に例外が飛んでくる関数にはcatchするかしないかの選択権など無い
例外安全なオブジェクト「だけ」で事が済んでいない限り、例外を受けると決めた時点でcatchせねばならない
一方、例外を生じないライブラリの使い方(関数の呼び出し方)を心掛けるかどうか。これなら選択肢がある
それはcatchが必要かどうかの話だろ。
catchしたらテストケースが増えるかどうかという話とはなんも関係がない。
188(2): デフォルトの名無しさん (ワッチョイ 66cf-5eDQ) [sage] 2024/01/28(日) 17:01:39.99 ID:Gsm093HM0(3/3) AAS
例外安全性を守るのに例外の種類やそれが既知か未知かは関係ないだろうが、
仕様に明記した例外以外は堰き止めるのが正解だろうなあ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s