VBA - 捕获所有错误并返回描述。可能吗?

时间:2016-10-11 09:54:48

标签: vba excel-vba excel

问题如下。是否可能在多行中的代码中出错,使用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

我想要所有的描述,而不仅仅是最后一个。知道怎么做吗?

1 个答案:

答案 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