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
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to