c# - .Net com 服务器捕获未处理的异常

标签 c# .net com

我用 C# 创建了一个 Com 服务器。项目类型是类库。 有没有办法在我的代码中为未处理的异常获取事件?我试过 AppDomain.CurrentDomain.UnhandledException 没有任何运气

最佳答案

不可能。 CLR 中的 COM 互操作支持代码实现了 COM 中的限制,即不允许异常从 COM 方法中逃逸。您的方法将通过 CLR 中的捕获所有异常处理程序来调用,该处理程序捕获您抛出的任何异常。它被转换为 COM 错误代码、HRESULT、任何 COM Automation 兼容接口(interface)方法的返回值。 Exception.HResult 的值。 COM 客户端代码使用该值来确定方法调用是否失败。

您还可以使用调试器并使其在出现任何异常时停止。 Debug + Exceptions,勾选 Thrown 复选框。调试器会自动中断“第一次机会”异常。

关于c# - .Net com 服务器捕获未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5674197/

相关文章:

c# - 如何将托管 C++ 库导入 C# 应用程序(目标 .net 版本 3.5)

c# - 如何在asp.net中使用jquery实现文件上传进度条?

c# - .Net - 一般数字格式似乎不保留零

c# - 何时创建新任务

delphi - Delphi 中使用 VCL 的 Shell 命名空间扩展

c# - 类成员枚举线程安全吗?

c# - 将文件过滤器应用于文件名的字符串 [],而不打开 OpenFileDialog

c# - 字典中的 "An item with the same key has already been added"

c++ - 实现覆盖图标?

c++ - VDS(虚拟磁盘服务)COM 接口(interface)通知 - 回调(接收器)仅在注销期间调用(不建议)