>>>You need to pass the LINENO() in your on error call. As in:
>>>
>>>ON ERROR DO CatchErr WITH ERROR(), MESSAGE(), LINENO(), PROGRAM()
>>>
>>>>I am trying to catch errors using
>>>>on error do catcherr where catcherr.prg contains:
>>>>"str(ERROR( ))+MESSAGE( )+str(LINENO( ))+pROGRAM( )"
>>>>
>>>>but the lineno() reports back the lineno of catcherr, not where the error actually happens!
>>
>>Josh, I may not have conveyed too well but I did that.
>
>Timothy,
>
>Could you post some code from catcherr.prg. Basically, it should look something like this:
>
>ON ERROR DO CatchErr WITH ERROR(), MESSAGE(), LINENO(), PROGRAM()
>
>* CatchErr.prg
>LPARAMETERS lnError, lcMessage, lnLineNo, lcProgram
>?lnError, lcMessage, lnLineNo, lcProgram
OK it's like this:
on error do catcherr
~~catcherr.prg~~~
use errors excl
appe blank
repl problem with str(ERROR())+MESSAGE()+str(LINENO())+' '+pROGRAM()
RETU
lineno always comes back with 3.
"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."