[過去ログ] C++相談室 part137 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
574
(4): (JP 0Hd6-Y82R) 2018/09/21(金)13:11 ID:JwHgudh+H(1/2) AAS
関数A,B、C、D、EがあってAの中でBを呼んで、Bの中でCを……
って構造があって、例えばEでエラーが出るとします。大本のAにそれを伝えてエラーにしたいんですけどどうしたらいいでしょう
BCDEの戻り値全部boolにしてfalseを返すくらいしか思いつかないです
575: (ワッチョイ cd8a-TJ0W) 2018/09/21(金)13:20 ID:EQpNFWj/0(1) AAS
>>574
戻り値でもいいし、引数に参照やポインタを渡してもいいし
例外でもいい
577: (ワッチョイ 4234-CvAF) 2018/09/21(金)13:41 ID:IFsUWHdO0(1) AAS
>>574
例外を投げてキャッチさせる
579: (ワッチョイ 6202-coYL) 2018/09/21(金)14:34 ID:lJw3kOTN0(1) AAS
>>574
典型的な例外の出番だ
void E() { throw std::runtime_error("error at E()"); }
void D() { E(); }
void C() { D(); }
void B() { C(); }
void A() { try { B(); } catch(std::exception& err) { std::cerr << err.what(); } }
580: (JP 0Hd6-Y82R) 2018/09/21(金)14:47 ID:JwHgudh+H(2/2) AAS
皆様ありがとうございました。
別関数からのまでcatchできるとは知りませんでした。>>574を参考にしつつ書いてみようかと思います。
ファイル読み込みのときはあんま例外使わないなんて記述見たんですけど別に書いても大丈夫ですよね
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s