How to ignore an exception and proceed in Python?

An exception is an unexpected error or event that occurs during program execution. The difference between an error and an exception is that when an exception is encountered, the program deflects from its original course of execution, whereas when an error occurs, the program terminates. Hence, unlike errors, exceptions can be handled to prevent program crashes.

In some cases, certain exceptions might not significantly affect program execution and can be safely ignored. Python provides several ways to handle this:

  • Using the try/except block
  • Using the suppress() method

Using the try/except Block

The try/except block allows you to execute code and skip any errors that occur using the pass statement. This essentially does nothing but ignores any errors that occur ?

Syntax

try:
    # code that may cause an exception
except:
    pass

Ignoring a Specific Exception

You can ignore a specific exception by specifying the exception type after the except statement ?

try:
    "hello".some_undefined_method()
except AttributeError:
    pass
print("Program continues despite AttributeError.")
Program continues despite AttributeError.

Ignoring All Exceptions

To ignore all exceptions regardless of type, you can catch the base Exception class ?

try:
    result = 10 / 0
except Exception:
    pass
print("ZeroDivisionError was ignored and program continued.")
ZeroDivisionError was ignored and program continued.

Example: Ignoring ZeroDivisionError in a Loop

Here's how to handle division operations in a loop where zero division might occur ?

number = 16
for i in range(5):
    try:
        print(number / i)
    except ZeroDivisionError:
        pass
16.0
8.0
5.333333333333333
4.0

Example: Skipping Invalid Type Conversion

When converting strings to integers, you can skip invalid values ?

values = ['12', 'abc', '34', 'hello', '56']
numbers = []

for value in values:
    try:
        numbers.append(int(value))
    except ValueError:
        pass

print("Converted numbers:", numbers)
Converted numbers: [12, 34, 56]

Using suppress() Method

The suppress() method from the contextlib module provides a cleaner way to ignore exceptions ?

Basic Usage

import contextlib

number = 16
with contextlib.suppress(ZeroDivisionError):
    result = number / 0
print("Zero division error is suppressed")
Zero division error is suppressed

Limitation: Entire Block Suppressed

When using suppress(), if any line raises an exception, the entire block stops executing ?

import contextlib

number = 16
with contextlib.suppress(ZeroDivisionError):
    for i in range(5):
        print(number / i)
print("The entire loop stopped at first exception")
The entire loop stopped at first exception

Comparison

Method Granular Control Best For
try/except Yes Continuing after exceptions
suppress() No Cleaner syntax, entire blocks

Conclusion

Use try/except with pass when you need fine-grained control over exception handling. Use suppress() for cleaner code when you want to ignore exceptions in entire blocks. Always specify exception types rather than catching all exceptions blindly.

Updated on: 2026-03-24T16:18:08+05:30

35K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements