gpt4 book ai didi

c# - 在 Javascript 中处理 ActiveX 控件异常 (C#)

转载 作者:行者123 更新时间:2023-11-29 14:56:24 29 4
gpt4 key购买 nike

我使用 COM Interop 在 C# 中编写了一个 ActiveX 控件来公开方法/属性。

[ComVisible(true)]
class COMClass:ICOMClass
{
public string methodA()
{
string str = "abc";
if(str != "abcd")
throw new Exception("invalid string");
return str;
}
}
[ComVisible(true)]
interface ICOMClass
{
string methodA();
}

有没有办法在 javascript 中处理 C# 抛出的异常?我找遍了,但找不到任何东西?

例如。

var x = new ActiveXObject("COMClass");
try{
x.methodA
}
catch(e) {
alert(e);
}

最佳答案

调用 alert(e.message) 对我有用。

确保您的 ActiveX 类正在实现 IObjectSafety:

using System;
using System.Runtime.InteropServices;

[ComImport()]
[Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
internal interface IObjectSafety
{
[PreserveSig()]
int GetInterfaceSafetyOptions(ref Guid riid, out int pdwSupportedOptions, out int pdwEnabledOptions);

[PreserveSig()]
int SetInterfaceSafetyOptions(ref Guid riid, int dwOptionSetMask, int dwEnabledOptions);
}

关于c# - 在 Javascript 中处理 ActiveX 控件异常 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17198734/

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