>Hi,
>Should work.
>Are you saying that the Throw in retParm() fires but that it's not caught in the completewhere func?
Yes
>IAC, as the code stands, the TRY/CATCH block in retParm() is redundant since you're not handling the exception in any meaningful way.
That is the point. I want to handle the error in the completewhere() method. My interpretation of the docs says that throw will throw the error to the calling method's error handler????
>
>>The error does not throw forward. I would like the completewhere() method to catch the error so I can run the getReqiredParms() method. That is not happening.
>>>What seems to be a problem?
>>>>
>>>>I am trying to get a nested try catch to work using throw with little success. I am trying to get the retParm() method to throw an error and have the completewhere() method catch the error. Is this possible?
>>>>
>>>>Thanks.
>>>>
>>>>Here is the code
>>>>
>>>> FUNCTION completewhere()
>>>> LOCAL llRet
>>>> llRet = .t.
>>>> TRY
>>>> this.oparm = this.oParmObj.retparm()
>>>> CATCH TO loError
>>>> * catch the error here and run the method below.
>>>> this.getReqiredParms()
>>>> FINALLY
>>>> this.oParmObj.removeall()
>>>> ENDTRY
>>>> return llRet
>>>> ENDFUNC
>>>>
>>>> FUNCTION retParm()
>>>> LOCAL loRet , loError
>>>> loRet = CREATEOBJECT("empty")
>>>> TRY
>>>> FOR lnx = 1 TO this.count
>>>> ADDPROPERTY(loRet,this.aitems[lnx,2],this.aitems[lnx,1])
>>>> NEXT
>>>> CATCH TO loError
>>>> * error occurs and throw the error to completewhere()
>>>> THROW loError
>>>> FINALLY
>>>>
>>>> ENDTRY
>>>> return loRet
>>>> ENDFUNC
>>>>
>>>>