Oracle® Solaris Studio 12.4: C++ ユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

10.2 マルチスレッドプログラムでの例外の使用

現在の例外処理の実装は、マルチスレッドで使用しても安全です。これは、あるスレッドの例外によって、別のスレッドの例外が阻害されることがないためです。ただし、例外を使用して、スレッド間で情報を受け渡すことはできません。これは、あるスレッドからスローされた例外を、別のスレッドで捕獲できないためです。

それぞれのスレッドでは、独自の terminate() または unexpected() 関数を設定できます。あるスレッドで呼び出した set_terminate() 関数や set_unexpected() 関数は、そのスレッドの例外だけに影響します。デフォルトの terminate() 関数の内容は、すべてのスレッドで abort() になります。実行時エラーの指定を参照してください。