2012-07-24 41 views
1

我有C#组件,它是COMVisible。 我用regasm注册了它。将C#异常消息传递给VB应用程序

该组件正在另一个VB应用程序中使用。 这VB应用处理错误是这样的:

On Error GoTo MyErrorHandler 
...some code here.. 

MyErrorHandler 
If Err.Number <> 0 Then 
    Err.Raise Err.Number, , "Failure In COM Object" & Chr(13) & Chr(10) & Err.Description 
End If 

我想C#异常消息的值传递给Err.Description。

我该如何做到这一点?

+1

它只是一个'字符串'你试过了什么? – 2012-07-24 11:12:33

+0

我只想传递C#应用程序的Exception对象中捕获的Message值。 – vijay 2012-07-24 12:19:14

+0

你在C#中引发一个COMException吗? – 2012-07-24 12:45:32

回答

0

我看不到您从COM对象传递错误消息。你能够从你的COM对象中检索错误消息吗?如果是,则只需将其添加到Err.Raise以代替Err.Description。如果你不能检索,那是一种完全不同的鱼。请详细说明。

Err.Raise Err.Number, , "Failure In COM Object" & Chr(13) & Chr(10) & objYourComObject.Description 
+0

这就是OP要做的事情,获取由C#对象引发的异常的完整消息。这个(或它的一些表示)将被保存在'Err'对象中。使用一个单独的属性只是让一个混乱IMO :) – Deanna 2012-09-19 08:03:20

相关问题