0

私のC#コードはCOMオブジェクトを消費します。そのCOMオブジェクトメソッドが返されることがありますが、適切なではなくにE_OUTOFMEMORY変換されます。これはエラー処理を複雑にするため、私にとっては問題です。COMオブジェクトメソッドのみがスローされることで発生するすべてのエラー表示が必要です。System.OutOfMemoryExceptionSystem.Runtime.InteropServices.COMExceptionErrorCodeSystem.Runtime.InteropServices.COMException

COMオブジェクトメソッドが返されるときではSystem.Runtime.InteropServices.COMExceptionなく、常に持つことは可能ですか?System.OutOfMemoryExceptionE_OUTOFMEMORY

4

1 に答える 1

0

ちょっと面倒かもしれませんが、 をスローしているコードをSystem.OutOfMemoryExceptionTry/catch でラップして、 を再スローしてみSystem.Runtime.InteropServices.COMExceptionませんか?

次のようなもの:

    try
        {
            // COM Code here
        }
        catch (System.OutOfMemoryException ex)
        {
            throw new System.Runtime.InteropServices.COMException("E_OUTOFMEMORY", ex);
        }
于 2012-12-03T13:44:37.537 に答える