2016-10-11 2 views
2

질문은 다음과 같습니다. 여러 줄의 코드에 오류가있을 수 있습니까? on error resume next을 사용하고 마지막에는 모든 오류에 대한 설명을 반환합니다. 다음과 같은 내용 :VBA - 모든 오류를 포착하고 설명을 반환합니다. 가능한가?

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 

나는 마지막 설명뿐만 아니라 모든 설명을 원합니다. 어떤 생각을하는 방법?

답변

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 
+0

넵. 그 다음 이력서가 계속 될지 몰랐습니다. 감사! :) – Vityata

+0

당신은 오신 것을 환영합니다. 그러면 대답을 받아 들일 수 있습니다. :-) – user3598756

+0

그래, 그렇게하면 그렇게 할거야. 질문을하기 전에 일시 중지가 약 10 분 정도 걸리므로 저를 허용하지 않습니다. – Vityata

관련 문제