私はを読んでいます.Bjarne StroustrupによるC++のデザインと進化例外処理と非同期信号に関しては、以下のように記述されています:C++例外とシグナルハンドラ
シグナルのようなものを扱うために例外を使うことができますか?ほぼ確実にほとんどのC環境ではありません。問題は、Cがreallantではないmallocのような関数を使用することです。 mallocの途中で割り込みが発生し、例外が発生した場合、例外ハンドラがmallocを再度実行するのを防ぐ方法はありません。呼び出しシーケンス全体のランタイムライブラリは、リエントラントのための要件を中心に設計されている
A C++の実装は、「それが可能な信号は、著者が文で何を意味するのexceptoins
を投げるためになるだろう例外ハンドラがmallocをもう一度実行するのを防ぐ方法はありません。 "どのように関数をリエントラントにすると、シグナルハンドラから例外をスローすることが可能になりますか?
...例外の再開オプションがあった初期のC++の設計であってもよく、あなたがスローされた例外がキャッチされないされた後、プログラムの実行を継続することができなかったことを指摘素晴らしいです。 – Leviathlon