try-except blocks to catch multiple exceptions or single exceptions in Python. In cases where a process raises more than one possible exception, they can all be handled using a single
try: ... except RuntimeError: print err1 except NameError: print err2 ...
Python catch multiple exceptions
Simple example code and approaches for handling multiple exceptions in Python.
Using Same Code Block
Catch two types of exceptions
s = input() try: num = int(input()) print(s + num) except (TypeError, ValueError) as e: print(e)
Using Different Code Blocks
TypeError exceptions handled differently on their own except blocks.
s = input() try: num = int(input()) print(s + num) except TypeError as te: print(te) except NameError as ne: print(ne)
How to catch multiple exceptions at once and deal with individual one, in Python?
Answer: You can use built-in
type() to determine the type of the error object.
try: pass except (EOFError, FileNotFoundError) as e: if type(e) is EOFError: deals_with_EOFError() else: deals_with_FileNotFoundError()
However, your initial example has better readability.
try: pass except EOFError: deals_with_EOFError() except FileNotFoundError: deals_with_FileNotFoundError()
Do comment if you have any doubts or suggestions on this Python exception topic.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.