2

C# コードで Interop Exception をキャッチしようとしています

IEngine engine = null;

try
{
    engine = engineLoader.GetEngineObject(AbbyySdkSerialNumber);
}
catch(System.Runtime.InteropServices.COMException ex)
{
    int i = 0;
}

ただし、catch ブロックにジャンプする必要はありません。何か案は?前もって感謝します!

4

4 に答える 4

2

間違いなく例外をスローしている場合は、実際には期待するタイプの例外をスローしていないに違いありませんSystem.Runtime.InteropServices.COMException。最初に正気をチェックし、次にスローされている例外catch (Exception ex)を調べるために、に句を追加することをお勧めします。try

于 2013-03-21T15:46:11.220 に答える
0

私の場合、生成された例外の正確なタイプをキャッチする必要がありました。コードのマネージ部分で System.IO.IOException タイプの例外が生成されていましたが、私のアンマネージ コードでは catch(IOException ^) を実行する必要があり、問題を解決しました。そうしないと、catch(Exception ^) を使用しても例外がキャッチされませんでした。

于 2015-08-15T14:59:57.307 に答える