2005/11/15, Nick Coghlan <[EMAIL PROTECTED]>:
> Specifically, the body of the entire function is written inside a switch
> statement, with 'break' then used as the equivalent of "raise Exception". For
> example:
>
> PyObject* switchAsTry()
> {
> switch(0) {
> default:
> /* Real function body goes here */
> return result;
> }
> /* Error cleanup code goes here */
> return NULL;
> }
>
> It avoids the potential for labelling problems that arises when goto's are
> used for resource cleanup. It's a far cry from real exception handling, but
> it's the best solution I've seen within the limits of C.
<delurk>
do {
....
....
} while (0);
Same benefit and saves some typing :)
Now back to my usual hiding place.
</delurk>
--
{ Marek BaczyĆski :: UIN 57114871 :: GG 161671 :: JID [EMAIL PROTECTED] }
{ http://www.vlo.ids.gda.pl/ | imbaczek at poczta fm | http://www.promode.org }
.. .. .. .. ... ... ...... evolve or face extinction ...... ... ... .. .. .. ..
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com