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