On 30-Jul-12 10:52, Mark Lawrence wrote:
On 30/07/2012 17:56, Tino Dai wrote:
      Is there anyway to execute a block of code at the end of a
program in
2.6 regardless of what happened before eg exiting normally or died
because
of an exception?

Sorry I'm not completely sure what you're asking for but will this help
http://docs.python.org/library/atexit.html ?

I don't think that will cover the use cases the OP asked about. I suppose you could do something like

try:
   main()
finally:
   save_everything()

But I think it would be better to re-think your design. Why must the final database commit (or whatever it is) happen at the end and not along the way? Are there critical subsets of the code you could protect more locally and save after they're done?

Are you certain that the data you'll save will be accurate if the program crashed or was interrupted in the middle of something?

I think the block above will do what you're asking for, but I'm not sure what you're asking for is what will help you best.




--
Steve Willoughby / st...@alchemy.com
"A ship in harbor is safe, but that is not what ships are built for."
PGP Fingerprint 4615 3CCE 0F29 AE6C 8FF4 CA01 73FE 997A 765D 696C
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to