On 6/23/2010 7:36 PM, Christopher King wrote:
In a try except clause, you can end with finally block. I know it
runs after the try and except blocks regardless of the outcome, but
why use it. Couldn't you just put the code after the try and except
block without using a finally block. Does the finally command do
something I don't know about. Does it make your program more
understandable in some way?
Did you read the manual?
"If finally <#finally> is present, it specifies a 'cleanup' handler. The
try <#try> clause is executed, including any except <#except> and else
<#else> clauses. If an exception occurs in any of the clauses and is not
handled, the exception is temporarily saved. The finally <#finally>
clause is executed. If there is a saved exception, it is re-raised at
the end of the finally <#finally> clause. If the finally <#finally>
clause raises another exception or executes a return
<simple_stmts.html#return> or break <simple_stmts.html#break> statement,
the saved exception is lost. The exception information is not available
to the program during execution of the finally <#finally> clause.
"When a return <simple_stmts.html#return>, break
<simple_stmts.html#break> or continue <simple_stmts.html#continue>
statement is executed in the try <#try> suite of a try <#try>...finally
<#finally> statement, the finally <#finally> clause is also executed 'on
the way out.' A continue <simple_stmts.html#continue> statement is
illegal in the finally <#finally> clause. (The reason is a problem with
the current implementation --- this restriction may be lifted in the
future)."
--
Bob Gailer
919-636-4239
Chapel Hill NC
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor