Hi Chriss,
I have no intention to hide errors - the only error report I have ever seen has been Table Error.
The bad path and FILE COPY just jumped past in the deugger with no visible output.
My errorhandler which I found and copied from this forum 10+ years ago is
Procedure errHandler
Parameter merror, Mess, mess1, mprog, mlineno
Local myMessage,myactualpath
myactualpath = Curdir()
myMessage=;
'Program with error: ' + mprog + Chr(13);
+'Error number: ' + Ltrim(Str(merror))+ Chr(13) ;
+ 'Error message: ' + Mess + Chr(13) ;
+ 'Line of code with error: ' + mess1 + Chr(13);
+ 'Line number of error: ' + Ltrim(Str(mlineno))+ Chr(13);
+ 'Current Path in Use : ' + myactualpath;
myReport =Chr(13)+ Chr(10) + Dmy(Date())+ ' ' + Time()+ Chr(13)+ Chr(10) ;
+'Error number: ' + Ltrim(Str(merror))+ Chr(13)+ Chr(10) ;
+ 'Error message: ' + Mess + Chr(13)+ Chr(10) ;
+ 'Line of code with error: ' + mess1 + Chr(13)+ Chr(10);
+ 'Line number of error: ' + Ltrim(Str(mlineno)) ;
+ Chr(13) +Chr(10);
+ 'Program with error: ' + mprog + Chr(13) + Chr(10);
+ 'Current Path in Use : ' + Curdir() + Chr(13) + Chr(10);
+ '***********************END*****************************';
+ Chr(13)+Chr(10);
If ! Empty(Alias())
myMessage = myMessage + Chr(13)+Chr(10) + ;
'Current ALIAS in Use : ' + Alias()
Do Case
Case Eof()
myMessage = myMessage + Chr(13)+Chr(10) + "EOF"
Case Bof()
myMessage = myMessage + Chr(13)+Chr(10) + "BOF"
Otherwise
myMessage = myMessage + Chr(13)+Chr(10) +;
"RECNO: " + Alltrim(Str(Recno()))
Endcase
Endif
=Messagebox(myMessage,16,"ERROR !!!")
If File('errors.dat') && Does file exist?
Strtofile(myReport,'errors.dat',.T.)
gnErrFile = Fopen('errors.dat',12) && If so, open read-write
Else
gnErrFile = Fcreate('errors.dat') && If not, create it
Strtofile(myReport,'errors.dat',.T.)
Endif
If gnErrFile < 0 && Check for error opening file
Wait 'Cannot open or create output file' Window Nowait
Else && If no error, move to eof write to file
= Fseek(gnErrFile, 2)
Strtran(myMessage,myMessage," ")
=Fwrite(gnErrFile , myReport)
Endif
=Fclose(gnErrFile ) && Close file
logging(myReport)
Set Defa To (myactualpath)
Endproc
called in main.prg by
On Error Do errHandler With ;
ERROR( ), Message( ), Message(1), Program( ), Lineno( )