DEFINE CLASS myClass lError = .f. lErrorTrap = .f. PROCEDURE Error *-- update error property This.lError = .t. *-- check if an error trap has been set. If yes, bail out *-- since we were expecting an error and most probably want *-- to handle it in the method it occurred IF This.lErrorTrap *-- reset error trap This.lErrorTrap = .f. *-- do nothing RETURN ENDIF *-- handle error (log, inform user, etc) RETURN ENDPROC PROCEDURE MyMethod *-- before doing some code that might cause an error, *-- setup error trap This.lErrorTrap = .t. *-- do something USE SomeTable EXCLUSIVE *-- check if error occurred IF This.lError *-- handle error ENDIF RETURN ENDPROC ENDDEFINEYou find some useful information on error handling on the wiki. Particulary useful is Doug Hennigs article http://fox.wikis.com/wc.dll?Wiki~DougHennigsErrorHandlingPaper~VFP