【发布时间】:2015-09-17 17:50:41
【问题描述】:
在我的 vb 应用程序中,当发生错误并且我想使用 err.raise 来引发它时,错误消息与我在描述中的内容完全不同,它在 Err.Raise 函数的同一行中说失败,之后搜索我上面提到的错误没有有用的信息有人可以检查我在哪里做错了
Public Sub ErrorHandler()
'<EhHeader>
On Error GoTo PROC_ERR
'</EhHeader>
Dim sSysMsg As String
100 sProcedureName = "[" & CONST_CLASS_NAME & "." & sProcedureName & "] "
102 If RaiseSystemError Then
104 Err.Raise CONST_CLASS_ERROR, , sErrorMessage & vbCrLf & sProcedureName
Else
106 If Err <> 0 Then
108 sSysMsg = "[" & Error$(Err) & "] " & vbCrLf
End If
110 sErrorMessage = sErrorMessage & vbCrLf & sSysMsg & sProcedureName
End If
112 sProcedureName = ""
114 bMethodFailed = True
116 Err = 0
'<EhFooter>
PROC_EXIT:
Exit Sub
PROC_ERR:
If modErr.iHandleError(Err, Erl(), "cWtSvr.ErrorHandler") = vbRetry Then Resume
Resume Next
'</EhFooter>
End Sub
错误指向第 104 行
"Error N0" 4444, Application-defined or object error occurred in function name of exe.name of the class.ErrorHandler at line 104"
请注意,错误 N0:4444 是我自己的自定义错误,而其余错误不是我需要输出的,所以不确定发生了什么
非常感谢
【问题讨论】:
-
在第 104 行设置断点并单步执行代码。您将看到导致错误的行并且应该能够确定原因。
-
我确实逐步完成了它,它引发了我需要的正确错误,但是当我制作文件并运行 exe 时出现错误,提示“错误 N0”4444,应用程序定义或对象错误发生在function
. .ErrorHandler at line 104"。注意错误号 4444 是我传递给 Err.Raise 的自定义错误不是我的错误描述 -
你没有显示你的错误描述声明,或者你在哪里以及如何设置它,所以我们只能猜测。
-
对不起,我发现了我的问题,非常感谢
标签: error-handling vb6