5
AccessViolationExceptionの処理方法
.netアプリケーション内からCOMオブジェクト(MODI)を使用しています。私が呼び出しているメソッドはSystem.AccessViolationExceptionをスローしますが、これはVisual Studioによってインターセプトされます。奇妙なことに、AccessViolationException、COMException、その他すべてのハンドラーがあるトライキャッチに呼び出しをラップしましたが、Visual Studio(2010)がAccessViolationExceptionをインターセプトすると、デバッガーはメソッド呼び出し(doc.OCR)で中断します。そして、一歩進んだ場合、catchブロックに入るのではなく、次の行に進みます。さらに、これをビジュアルスタジオの外で実行すると、アプリケーションがクラッシュします。COMオブジェクト内でスローされるこの例外をどのように処理できますか? MODI.Document doc = new MODI.Document(); try { doc.Create(sFileName); try { doc.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, false, false); sText = doc.Images[0].Layout.Text; } catch (System.AccessViolationException ex) { //MODI seems to get access violations for some reason, but is still able to return the OCR text. sText = doc.Images[0].Layout.Text; } catch (System.Runtime.InteropServices.COMException ex) { …