Effective C++ Item 82009年07月24日 11時17分28秒

  • デストラクタは例外を投げてはいけない。もし、デストラクタ内で例外が投げられているのであれば、全てを補足し処理をするか、プログラムを強制終了させる。
  • もし関数の呼び出し側に例外処理が要求されるのなら、デストラクタ等ではなく普通の関数を呼び出す様にする。

デストラクタが例外を投げると、完全にリソースが解放されないまま制御が外に出てしまう。なお、C++ コンパイラはデストラクタが例外を投げても警告はしない。

前回次回