- check procedure parameters TRY executeMethodCode CATCH WHEN ProcedureIsFill('Error') Error(...) ENDTRYBut VFP it implement this logic, with a approssimative coding.
- next must call higher trap, but it call master VFP trap and this is a implementation problem Procedure Error(nError, cMethod, nLine) THROW && this fire a not trappable error ENDPROC - next must call higher trap, but it call the first higher TRY/ENDTRY, it skip the Error() of the parent object, and this is a implementation problem Procedure Error(nError, cMethod, nLine) TRY THROW CATCH WHEN .F. ENDTRY ENDPROC - next is correct Procedure Error(nError, cMethod, nLine) TRY THROW CATCH WHEN .T. ENDTRY ENDPROC - next is a implementation problem because VFP ignore the second THROW Procedure Error(nError, cMethod, nLine) TRY THROW CATCH WHEN .T. THROW ENDTRY ENDPROCThen, if you want a escalation to a external TRY/ENDTRY, it is simple:
Procedure Error(nError, cMethod, nLine) TRY * write the error code within a TRY/ENDTRY trap =nError+cMetho FINALLY * before exit trap code ENDTRY ENDPROCFor a true OOP escalation, VFP cannot do it.