2009-07-19 8 views
6

これは、シンプルであるべきように思えるが、私は
try {} catch (...) {} C++の例外処理との両方を試してみた
__try {} __finally {}構造化例外処理(SEH)
とどちらもがときにはControl-C起こる例外をキャッチします応用。Visual C++コンソールアプリケーションでControl-C例外をキャッチする方法は?

Control-Cはシステムタイプの信号であり、C++のthrow()に起因するものではないので、私は実際にはC++の例外処理を期待していませんでしたが、SEHがうまくいかなかったときに試しました。

デバッガで実行すると、Control-Cが最初の例外を発生させることが示されますが、再スローされるとハンドラは呼び出されません。

+0

これは例外ではなく、interuptと呼ばれます。 –

+0

Doh - 割り込み。私の間違い。 –

+0

@ダニエルええ、技術的にはMicrosoftはStructured InterRUPT Handlingと呼ぶべきですが、そうではありません。 Po-tay-to-Po-tAH-toに変換する。 –

答えて

9

ここでは、Win32で割り込みを処理する方法を示します。

http://msdn.microsoft.com/en-us/library/ms686016%28VS.85%29.aspx

+1

ありがとう、ダニエル。私はこれを見つけることなく、異なる検索エンジンでMSDNを検索するのに少なくとも1時間を費やしていました。 –

関連する問題