On Aug 9, 1:14 am, Stefan Bellon <[EMAIL PROTECTED]> wrote: > On Wed, 08 Aug, MRAB wrote: > > Simple! :-) > > Sorry, I forgot to mention that I am forced to using Python 2.4. > > -- > Stefan Bellon
It doesn't matter. You can use try...finally as well in Python 2.4. It's just not possible to use except and finally clauses in one statement such as: try: 1/0 except ZeroDivisionError: print "incident!" finally: print "cleanup" However in theory you don't really need finally but you can simulate it using nested try...except statements: ----- try: try: 1/0 try: print "cleanup" except Exception: raise FinallyException( sys.exc_info() ) except ZeroDivisionError: print "incident!" try: print "cleanup" except Exception: raise FinallyException( sys.exc_info() ) except Exception: exc_cls, exc_value, exc_tb = sys.exc_info() if exc_cls == FinallyException: fin_exc_cls, fin_exc_value, fin_exc_tb = exc_value[0] raise fin_exc_cls, fin_exc_value, fin_exc_tb else: print "cleanup" except Exception: raise FinallyException( sys.exc_info() ) raise exc_cls, exc_value, exc_tb ------- Note that this expression is regenerated from the above try...except..finally statement using Py25Lite ( see [1],[2] ) which is a tool used to provide some Python 2.5 constructs for programmers working with Python 2.4. [1] http://www.fiber-space.de/EasyExtend/doc/EE.html [2] http://www.fiber-space.de/EasyExtend/doc/Py25Lite/Py25Lite.html -- http://mail.python.org/mailman/listinfo/python-list