At least, we can say it's a bug
And it's not only try/catch. I have tried it with the classic on('error') and also with a class with an error function in it (createobject + execute function new_ix)
All scenario's had the same result
_
>The error was intercepted by TRY...CATCH so from VFP point of view there was no error. Unfortunately, TRY...CATCH implementation in VFP is not very good. An error caught by TRY...CATCH affects state of some internal VFP structures, unrelated to the error, which in turn produces such side effects as this one.
>
>>
>>I understand the whole construct now - why it didn't error on a cursor - which is exclusive
>>
>>If not exclusive, it tries to lock the header, append and fill the default values. If any error has occurred in that sequence, it thinks it was not possible to lock the header
Gregory