问题如下。是否可能在多行中的代码中出错,使用on error resume next
并在最后返回所有错误的描述。像这样:
Public Sub CatchErrors()
On Error Resume Next
Err.Raise 1009, Description:="Custom Error 01"
Err.Raise 1010, Description:="Custom Error 02"
Err.Raise 1011, Description:="Custom Error 03"
Debug.Print Err.Description
On Error GoTo 0
End Sub
我想要所有的描述,而不仅仅是最后一个。知道怎么做吗?
答案 0 :(得分:4)
也许是这样的?
Option Explicit
Public Sub CatchErrors()
Dim errStrng As String
On Error GoTo ErrHandler
Err.Raise 1009, Description:="Custom Error 01"
Err.Raise 1010, Description:="Custom Error 02"
Err.Raise 1011, Description:="Custom Error 03"
On Error GoTo 0
Debug.Print errStrng
Exit Sub
ErrHandler:
errStrng = errStrng & Err.Description & vbCrLf
Resume Next
End Sub