Open In App

How to Ignore an Exception and Proceed in Python

Last Updated : 21 Mar, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

There are a lot of times when in order to prototype fast, we need to ignore a few exceptions to get to the final result and then fix them later. In this article, we will see how we can ignore an exception in Python and proceed. 

Demonstrate Exception in Python

Before seeing the method to solve it, let’s write a program to raise an error. 

Python3




def divide(a, b):
    return a/b
  
print(divide(4, 0))


Output:

How to ignore an exception and proceed in Python

 

Solution using the Try Except Method

In this example, you can see two cases of the Python Try-Except method. One which leads to an exception and another which will run without any exception. In the code, you can see how we are handling the error. (Here we are aware of the error we are going to encounter).

Example 1:

In the code, you can see how we are handling the error, Here we are aware of the error we are going to encounter.

Python3




def divide(a, b):
    try:
        result = a / b
    except ZeroDivisionError:
        result = 0
    return result
  
print(divide(3, 0))
print(divide(4, 2))


Output:

0
2.0

Example 2:

In this example, let’s assume we are unaware of the error we are going to encounter. Here we can see that the specified error is not given. This might not be a good practice, because it becomes hard to trace the exact issue in the code. 

Python3




def divide(a, b):
    try:
        result = a / b
    except:
        result = 0
    return result
  
print(divide(3, 0))
print(divide(4, 2))


Output:

0
2.0

Solution Using Suppress Function

To ignore an exception and continue execution in Python using suppress, you can use the with a statement with the suppress function from the contextlib module. This allows you to specify the exception to be suppressed, and the with statement will automatically suppress the specified exception and continue execution after the with block.

Example 1:

In this example, the with statement is used to wrap the code that might throw an exception. The suppress function is used to specify the ZeroDivisionError exception to be suppressed. If the code inside the with block raises a ZeroDivisionError, it will be suppressed and execution will continue after the with block.

Python3




from contextlib import suppress
  
with suppress(ZeroDivisionError):
    # Some code that might throw ZeroDivisionError
    1 / 0
  
print("After the with block")


Output:

After the with block

Example 2:

In this example, the try…except statement is used to wrap the with a block that uses suppress to ignore a ZeroDivisionError exception. The try…except statement also includes an except block that catches ValueError exceptions. If a ValueError is raised by the code inside the try block, it will be caught by the except block and handled by printing the error message. However, since the with block uses suppress to ignore the ZeroDivisionError that is raised by the code, this exception will not be handled and execution will continue after the try…except block.

Python3




from contextlib import suppress
  
try:
    with suppress(ZeroDivisionError):
        # Some code that might throw ZeroDivisionError
        1 / 0
except ValueError as e:
    print("ValueError:", e)
  
print("After the try-except block")


Output:

After the try-except block

Conclusion

It is generally not recommended to use this approach to ignore exceptions. Instead, you should handle the exceptions properly by providing appropriate actions in the except block. Ignoring exceptions can lead to unexpected behavior and can make it difficult to debug your code. It is better to handle exceptions explicitly so that you can control how your program responds to them.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads