がりらぼ

WindowsRuntimeの応援ブログ

VisualStudioでキャッチされない例外をキャッチする

デバッグをしているとたまに、「~の初回例外が発生しました」みたいな出力メッセージを見ることがあります。

型 'System.Runtime.InteropServices.COMException' の初回例外が mscorlib.dll で発生しました

例外ならキャッチしてデバッグを中止してほしいのに何事もなかったかのようにデバッガは動き続けます。

これを解決する方法として、VisualStudioはどのクラスから例外が発生したときにデバッガを中断させるか選択するという方法があります。

ツールバーの[デバッグ]→[例外]を選択
f:id:garicchi:20140107012422p:plain

このようなダイアログが出てきます。
f:id:garicchi:20140107012500p:plain

今回のプログラムの例外は、mscrlib.dllから発生しているので、mscrlibをググってみると、.Netの基本クラスだそうなので「Common Language Runtime Exceptions」にチェックをいれました。


見事にデバッガをとめてくれました。
f:id:garicchi:20140107012637p:plain


止めてみて気づいたけど結構重要な例外だった...