LOCAL lo lo = NEWOBJECT('myClass') DEFINE CLASS myClass AS FORM PROCEDURE ERROR(tnError, tcMethod, tnLine) MESSAGEBOX("Error " + LTRIM(STR(tnError))+" in "+tcMethod+CHR(13)+MESSAGE()) PROCEDURE LOAD USE SomeDBF AGAIN IN 0 SHAREDSo, how do you know your error method isn't running? IOW, have you put a breakpoint on the line that tries to use the table (?) and then followed the program? Do you have an ON ERROR statement? That *shouldn't* matter since error events take precedence over object error events, but you might want to simplify things as much as possible at least til you find the problem.