On 11/15/11 2:31 PM, Grant Edwards wrote:
On 2011-11-15, Barry W Brown<brown...@gmail.com>  wrote:

I thought that the point of the else clause is that it is reached
only if there is no exception in the try clause.

Not really.  If that's all you wanted, then you just put the code at
the end of the try block.

No, he's right. You should only put code in the try: block where you want exceptions to be caught. Everything else should be outside of the block. You really do want to minimize the amount of code inside the try: block.

try:
    # minimal code that might raise exceptions that you want to catch
except ThisError:
    # handle ThisError exceptions, and probably continue execution
except ThatError:
    # handle ThatError exceptions, and probably continue execution
else:
    # Code that only runs if ThisError or ThatError were not
    # raised in the try: block. This code may raise ThisError or ThatError
    # exceptions that should not be caught by the above except: blocks.

# Other code that runs regardless if a caught-and-continued exception
# was raised or not

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to