我在vb6中的Dsr中有以下功能...
...
Private Sub WebClass_FatalErrorResponse(SendDefault As Boolean)
myGenericFatalErrorResponse Error
End Sub
private sub myGenericFatalErrorResponse(byval oError as WebClassError)
...
end sub
给出错误: -
myGenericFatalErrorResponse Error fails due to type mismatch .
所以我的问题是应该在myGenericFatalErrorResponse
中传递错误的内容,我目前正在传递"as variant"
,但感觉"as WebClassError"
应该有效。
答案 0 :(得分:0)
应为err.raise
。
请记住,如果COM对象引发错误,则必须正确执行。对于vb错误,返回8004nnnn错误,对于Window错误,返回8007nnnn。您可以翻译错误编号,但始终保留源代码。
其他模块依赖于您引发错误。
来自VBScript的帮助(与VB6的帮助相同,但点击次数少于我的电脑)
生成运行时错误。
object.Raise(数字,来源,描述,帮助文件,帮助文本)
<强>参数强>
object
始终是Err对象。
数字
长整数子类型,用于标识错误的性质。 VBScript错误(包括VBScript定义和用户定义的错误)在0-65535范围内。
来源
命名最初生成错误的对象或应用程序的字符串表达式。为Automation对象设置此属性时,请使用表单project.class。如果未指定任何内容,则使用当前VBScript项目的编程ID。
说明
描述错误的字符串表达式。如果未指定,则检查数字中的值。如果它可以映射到VBScript运行时错误代码,则使用VBScript提供的字符串作为描述。如果没有与数字对应的VBScript错误,则使用通用错误消息。
<强>帮助文件强>
帮助文件的完全限定路径,可在其中找到有关此错误的帮助。如果未指定,VBScript将使用VBScript帮助文件的完全限定的驱动器,路径和文件名。
helpcontext
标识帮助文件中提供错误帮助的主题的上下文ID。如果省略,则使用与number属性对应的错误的VBScript帮助文件上下文ID(如果存在)。
<强>说明强>
除数字外,所有参数都是可选的。但是,如果使用“提升”,而未指定某些参数,并且Err对象的属性设置包含尚未清除的值,则这些值将成为错误的值。
在Automation对象中将number属性设置为您自己的错误代码时,将错误代码编号添加到常量vbObjectError。例如,要生成错误号1050,请将vbObjectError + 1050分配给number属性。
以下示例说明了使用Raise方法。
On Error Resume Next
Err.Raise 6 ' Raise an overflow error.
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear ' Clear the error.