"Allen Fowler" <[EMAIL PROTECTED]> wrote > I have a block of code buried deep in a module > that I expect to fail periodically. > (Calls to other machines over slow network, and such.) > > Generally, though, trying it a second / third will work. > > Is there clean way to write this on Python?
There was a thread on this a few days ago but I can't find it now... In general if you only have a few (eg hundreds) things to check you can run a loop inside a loop and exit it with break if it works. Pdeudo code: for item in list: for attempt in range(3): result = accessItem(item) if result == OK: break else: sleep(T) # optional pause to regroup if needed... else: logError(item) But I'm not sure if that's what you count as clean! If the volumes being processed it is usually better to gather the failures up for seondary processing after getting through the successful ones. This is a much more efficient way of handling high data volumes. HTH -- Alan Gauld Author of the Learn to Program web site http://www.freenetpages.co.uk/hp/alan.gauld _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor