【问题标题】:How to bind exception class and error code of external com exception?如何绑定外部com异常的异常类和错误码?
【发布时间】:2011-06-25 11:20:13
【问题描述】:

我的 .NET 应用程序调用位于程序集边界之外的对象的方法。当这个方法抛出异常时,我捕获了 COMException。

异常在 ErrorCode 字段中包含特殊代码,例如 -123。

试试 { // 调用外部对象 } 捕捉(COMException e) { // e.ErrorCode == -123; }

是否可以定义将抛出的异常类而不是 COMException?

例如

[外部错误的ErrorCode = -123] 公共类 MyException : 异常;

并重写上面的代码

试试 { // 调用外部对象 } 捕捉(MyException e) { //... }

【问题讨论】:

    标签: c# exception com


    【解决方案1】:

    “是否可以定义将抛出的异常类而不是COMException?”

    不,但您可以捕获 COMException,将其包装在自定义异常类中,然后重新抛出它。

    【讨论】:

    • 感谢您的回答。我考虑了这个决定,但我有很多写在delphi上的服务。现在我需要在 c# 上使用它们。每个 delphi 服务都需要个人包装器,该包装器将捕获所有 com 异常并抛出预定的 c# 异常。当 delphi-services 将更改或添加一些新的 delphi-exception 时,我将需要修改包装器。很难过。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 2015-07-13
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多