[Gambas-user] "If Error" is ambiguous
Christof Thalhofer
chrisml at deganius.de
Mon Sep 9 23:01:33 CEST 2019
Am 09.09.19 um 22:32 schrieb Benoît Minisini:
> The error flag is set once the TRY instruction has been executed.
>
> The error exception management code does not care with that flag, this
> is why Error.Clear() does not clear it. Actually nothing clears that
> flag, except a new TRY instruction.
>
> I don't think it's a problem if Error.Clear() would clear the flag.
>
> Anyway, the 'If Error Then...' was intended to be used just after a TRY
> instruction and only in that occasion.
>
> Maybe the compiler should raise a warning if we are not in that case, if
> possible.
I am playing around with my unittests and there are occasions where the
same code first does a "Try ... If Error Then ... Error.Clear" and later
on the program has to detect if an error happened independently from that.
Here I stumbled over the behaviour of Gambas. For me I could fix it by
checking for Error.Code <> 0 but it was not intuitive. I rubbed my eyes
and had to get some sleep before I understood the problem.
I think it would be better to clear the flag with Error.Clear and I also
think it would not break older code.
Alles Gute
Christof Thalhofer
--
Dies ist keine Signatur
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.gambas-basic.org/pipermail/user/attachments/20190909/8f9ade8e/attachment.sig>
More information about the User
mailing list