In Python, is it possible to have multiple except
statements for one try
statement? Such as :
try:
#something1
#something2
except ExceptionType1:
#return xyz
except ExceptionType2:
#return abc
Yes, it is possible.
try:
...
except FirstException:
handle_first_one()
except SecondException:
handle_second_one()
except (ThirdException, FourthException, FifthException) as e:
handle_either_of_3rd_4th_or_5th()
except Exception:
handle_all_other_exceptions()
See: http://docs.python.org/tutorial/errors.html
The "as" keyword is used to assign the error to a variable so that the error can be investigated more thoroughly later on in the code. Also note that the parentheses for the triple exception case are needed in python 3. This page has more info: Catch multiple exceptions in one line (except block)
Success story sharing
except (SomeError, OtherError):
. Doesn't answer the OP question, but might help some people who get here through Google.except Exception:
instead of plainexcept:
. (Plain except will catch evenSystemExit
andKeyboardInterrupt
which usually is not what you want)e
also since you give it a name :)