gpt4 book ai didi

c# - C#/VBA COM Interop 中的错误处理

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:56 24 4
gpt4 key购买 nike

我有一个从 Excel VBA 调用的 C# DLL,我通过 COM Callable Wrapper/COM Interop 公开了它。我希望能够将 C# 代码中发生的任何异常传递到 VBA 客户端。有没有推荐的方法来做到这一点?谢谢。

最佳答案

可以创建您自己的异常,将 HRESULT 错误代码传回 VBA 或其他基于 COM 的调用方。下面是一个使用 E_FAIL 的例子:

public class ComMessageException : Exception
{
public ComMessageException(string message)
:base(message)
{
HResult = unchecked((int)0x80004005);
}
}

Here is an MSDN article描述了这个过程。

这应该为您提供与 VB6 中相同的 VBA 错误支持,它将向用户显示您选择的错误消息以及您选择的 HRESULT。

关于c# - C#/VBA COM Interop 中的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4226397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com