I have two procedures, MAster & SLave, where MA call SL. Both of them has their own Error Handlers. However it's needs to pass some err's from SL to MA unhandled (or "as unhandled"). "Some" means here - manually raised err's. I.e. all custom err's, manually raised in SL, are subject to be passed to MA and to be handled there. But native MS err's must to be handled locally in SL.

I found the only way - to raise the same err again in SL in its handler. But it seems me clumsy...

Maybe there are other, more elegant solutions?
.
Code:
Private Const ERAMGC = (45200 + vbObjectError)
'
Private Sub sb_ErrTest_MA() ' Master
Dim j&
Dim sErrDsc$
On Error GoTo ErH
    
    For j = 1001 To 1003
        Call sb_ErrTest_SL(j)
    Next
    
ErE:
    Exit Sub
ErH:
    With Err
        sErrDsc = .Description
        Select Case .HelpContext
            Case ERAMGC ' it is user raised err
                Debug.Print sErrDsc
                Stop
            Case Else
                sErrDsc = .Number & "_" & sErrDsc
                Debug.Print sErrDsc
                Stop
        End Select
    End With
    Resume ErE
End Sub

Private Sub sb_ErrTest_SL(pVal&) ' Slave
Dim lDbz&
Dim sErrDsc$
On Error GoTo ErH

    Select Case pVal
        Case 1001: ' OK - do nothing
        Case 1002: lDbz = pVal \ 0&
        Case 1003: Call sb_ErrRaise(pVal)
        Case Else: Stop
    End Select
    
ErE:
    Exit Sub
ErH:
    With Err
        sErrDsc = .Description
        Select Case .HelpContext
            Case ERAMGC ' it is user raised err
                Debug.Print sErrDsc
                Stop
                ' Here I need to pass this err unhandled ..
                ' .. to caller's err handler on uplevel procedure
                Call sb_ErrRaise(pVal)
                Resume ErE
            Case Else
                sErrDsc = "MS Err " & .Number & " - " & sErrDsc
                Debug.Print sErrDsc
                Stop
                ' Here I need to maintain this err localy
                Resume Next
        End Select
    End With
End Sub

Private Sub sb_ErrRaise(pVal&)
Dim lNmb&
Dim sDsc$
    lNmb = pVal + vbObjectError
    sDsc = "ERA_" & CStr(pVal)    'HelpContext para used to pass Magic number by it ..
    Call Err.Raise(lNmb, , sDsc, , ERAMGC) ' .. to quicly dif raised err's from MS's
End Sub