I don't think that's cheating at all. On the contrary, try/catch and the error command is a perfect way to simulate those "should never happen" errors, like loss of network connection. You can unplug the cable, but that can have other consequences which is not related at all to your programming. Personally I listen to web radio at work, I would rather issue a error 1907 than losing the sound. :-)
>I cheat alittle and use TRY/ENDTRY when I want to do something that I am not sure can be done on some systems but don't want it caught in the apps error handler.
>
>
>
>>Try/catch is for ERRORS, not for regular conditions. You -may- use the ERROR command to raise fake errors, but that's not what try/catch is meant for. But it fits your purpose, it's yur choice.
>>
>>>Not sure. I'm going to be testing for a number of conditions, whenever m.MyVariable = .T. then I want to immediately kickout. If this isn't a good application of TRY/CATCH, then what is? I'm just trying to use functionality that's available and this sounded like a good fit.
>>>
>>>
>>>>Why do you need TRY..ENDTRY? It sounds like IF..ENDIF or DO CASE will do.
>>>>
>>>>>In the TRY block I want to test for certain conditions, if those conditions prove false, then I want to go to the CATCH block and do some other stuff. I think I should use THROW, but I can't figure out how to do it. I'm new to using the TRY/CATCH stuff.
>>>>>
>>>>>
>>>>>TRY
>>>>>
>>>>> Bunches of code...
>>>>>
>>>>>CATCH TO oException (come here if a variable in the TRY block proves false - not sure I even need oException here)
>>>>>
>>>>> IF oException.ErrorNo = 1
>>>>> STRTOFILE("Error occurred at: " + TRANSFORM(DATETIME());
>>>>> + CHR(13),"C:\Errors.log",.T.)
>>>>> ENDIF
>>>>>
>>>>>FINALLY
>>>>>
>>>>> RETURN .T.
>>>>>
>>>>>ENDTRY
>>>>>