That you could do yourself, CMIIW correct me if I'm wrong. try: for foo in iterex( bar_sequence ): > # normal iteration > spam(foo) > if funky(foo): > break except StopIterationEx, exc: > # the iterator stopped normally > eggs(exc) > else: > # the iterator exited abnormally, i.e. 'break' > sausage() > finally: > # always executed, even on 'break' > beans()
Qualm, except would be needed in every for-, and in one sense doesn't obey the semantics of exceptions. The end of a finite list is not an exceptional element-- it's not one. However generator semantics don't yield finite sequences-- and finity is an exception, but for-loops don't use infinite ones. Makes it sound (*subj've) like I'm hacking by using for-loops..... or, like sequencetype.__iter__ is malformed. <staggered diminished chord> -- http://mail.python.org/mailman/listinfo/python-list