例外機構を考察するスレ
■ このスレッドは過去ログ倉庫に格納されています
0038デフォルトの名無しさん
2009/10/17(土) 01:30:58class Parent {
protected virtual void doInner() = 0;
public void do() { ...色々... doInner(); ...色々... }
}
class Child : public Parent {
private void doInner() { ...例外を投げるかもしれない処理... }
}
Parent::Doは当然の事ながらChild::doInnerの投げる例外は知らないわけで
・Parent::doでは、全例外を無差別に掴んで後処理する。
→メモリ不足等まで握りつぶして危険
・Parent::doで後処理したら、必ずそのまま再スロー
→Parent::doを呼ぶクラスが困る。
Parent::doから外に投げられる例外が分からないから。
・Child::doInnerから例外を投げないように注意して作ってもらう or 投げてよい例外を規定する
→派生クラス側で間違えたらNG。
と、どこかで破綻する気が。
■ このスレッドは過去ログ倉庫に格納されています