Python – Catch All Exceptions

19 Oct, 2021
In this article, we will discuss how to catch all exceptions in Python using try, except statements with the help of proper examples. But before let’s see different types of errors in Python.
There are generally two types of errors in Python i.e. Syntax error and Exceptions. Let’s see the difference between them.
Syntax Error: As the name suggests this error is caused by the wrong syntax in the code. It leads to the termination of the program.
Python3
# initialize the amount variableamount = 10000  # check that You are eligible to# purchase Dsa Self Paced or notif(amount > 2999)print("You are eligible to purchase Dsa Self Paced")
Output:
SyntaxError: invalid syntax
Exceptions: Exceptions are raised when the program is syntactically correct, but the code resulted in an error. This error does not stop the execution of the program, however, it changes the normal flow of the program.
Python3
# initialize the amount variablemarks = 10000  # perform division with 0a = marks / 0print(a)
Output:
ZeroDivisionError: division by zero
Try and except statements are used to catch and handle exceptions in Python. Statements that can raise exceptions are kept inside the try clause and the statements that handle the exception are written inside except clause.
Python3
# Python program to handle simple runtime error  a = [1, 2, 3]try:    print ("Second element = %d" %(a[1]))      # Throws error since there are only 3     # elements in array    print ("Fourth element = %d" %(a[3]))  except:    print ("Error occurred")
Second element = 2
An error occurred
In the above example, the statements that can cause the error are placed inside the try statement (second print statement in our case). The second print statement tries to access the fourth element of the list which is not there and this throws an exception. This exception is then caught by the except statement. Without specifying any type of exception all the exceptions cause within the try block will be caught by the except block. We can also catch a specific exception. Let’s see how to do that.
A try statement can have more than one except clause, to specify handlers for different exceptions. Please note that at most one handler will be executed. For example, we can add IndexError in the above code. The general syntax for adding specific exceptions are –
try:
   # statement(s)
except IndexError:
   # statement(s)
except ValueError:
   # statement(s)
Python3
# Program to handle multiple errors with one# except statement# Python 3  def fun(a):    if a < 4:          # throws ZeroDivisionError for a = 3        b = a/(a-3)      # throws NameError if a >= 4    print("Value of b = ", b)      try:    fun(3)    fun(5)  # note that braces () are necessary here for# multiple exceptionsexcept ZeroDivisionError:    print("ZeroDivisionError Occurred and Handled")except NameError:    print("NameError Occurred and Handled")
Output
ZeroDivisionError Occurred and Handled
If you comment the line fun(3), the output will be
NameError Occurred and Handled
The output above is so because as soon as python tries to access the value of b, NameError occurs. 
Note: For more information, refer to our Python Exception Handling Tutorial.
Python-exceptions
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.