It doesn't actually produce an error which was why in the first place I couldn't trap it. How would I invoke your method? Does the prg need to be suspended?
>LOCAL lcError, lcMessage, llError
>
>LOCAL ARRAY laError
>
>llError = .f.
>* stop error handling
>lcError = ON ("ERROR" )
>
>ON ERROR llError= .t..
>
>* access your table
>
>IF llError
> AERROR( laErrorArray )
> * look in array to find what error it is
> lcMessage = laError[3]
>ENDIF
>
>* reset error handler
>ON ERROR &lcError
>
>* do something
"Build a man a fire, and he's warm for a day.
Set a man on fire, and he's warm for the rest of his life."