[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 11850] Re: C++ 例外について



高橋(徹)です。

個人メモを飛ばしてしまいました(^^;;;
お恥ずかしい限りです・・・

   "Toru TAKAHASHI <tooru6.takahashi@xxxxxxxxxxxxx>"さんは書きました:
> ○ CとC++での例外処理、第1部 〜 第17部
> その他ちょっとの記事あり

実は仕事上で発生した以下の問題の正解を探しておりました。
C++の例外で、
void function() throw(E);
と定義した場合、function()内で型E以外の例外が発生した場合どうなるか?

   try {
       function();
   } catch (...) {
       cout << "catch" << endl;
   }

(1) 型E以外の例外も呼び出し元にスローされる
(2) function()内でプログラムが強制終了(abort)する

C++標準仕様では、(2)ですが、VC++では(1)の挙動になります。
GCCでは(2)のように振る舞いました。

Deep C++の例外処理 第11部に解答があります。


---
TAKAHASHI Toru