This seems like a lot to have in the try: clause. Perhaps the actual call that we anticipate failing can have a try/except around just that region, and we can use the try/except/else idiom to run a bunch of things if it doesn't throw an exception - or just have the except clause explicitly do a 'continue'?  (More on try/except/else and try/except/finally at http://docs.python.org/2/tutorial/errors.html of course).