On Error do CatchError with Error(), Message(), Message(1), Program(), LineNo() Procedure CatchError(tnErrorNo, tcMessage, tcMessage1, tcProgram, tnLineNo Local lcOnError, lcAlias lcOnError = On("Error") ON ERROR If tnErrorNo = 24 Alltrim(lcAlias) = Substr(tcMessage, 1, At(" ", Message())) Select (lcAlias) Resume Next endif ** other error code for other errors ** ditto ditto On Error &lcOnError ReturnIt might work ;)