>I can handle the trap part, but how do I turn around and send the non-trapped error to VFP?
On error do errhnd with error()
Proc errhnd
lparam liError
*-- Raise the error here
error(liError)
The new try/catch functionality in vfp8.0 would probably be a better solution for what you're trying to do, though.
Mike Stewart