register cleanup handler
Neal Becker
ndbecker2 at gmail.com
Fri Jul 24 12:01:58 EDT 2015
Laura Creighton wrote:
> In a message of Fri, 24 Jul 2015 10:57:30 -0400, Neal Becker writes:
>>I know we have try/finally, but I don't think that helps here, because
>>code_executed_unconditionally couldn't be inside the try. Or am I missing
>>something obvious?
>
> I think so. Either that or I am badly misunderstanding you. What is
> wrong with
>
> try:
> if (condition):
> do_something_needing_cleanup
> else:
> do_something_else
> code_executed_unconditionally
> finally:
> do_cleanup
>
> Laura
do_cleanup has do be done only if do_something_needing_cleanup was done
first.
This would work, but is not very elegant. I hope for a better way.
need_cleanup = False
try:
if (condition):
do_something_needing_cleanup
need_cleanup = True
else:
do_something_else
code_executed_unconditionally
finally:
if need_cleanup:
do_cleanup
More information about the Python-list
mailing list