Post

A Quick Note on Python Try...Except

Exception handling is a crucial part of writing robust and reliable code. In Python, you can use the try...except block to handle errors gracefully and prevent your program from crashing.

The try...except Block

The try block lets you test a block of code for errors. The except block lets you handle the error.

1
2
3
4
try:
    print(x)
except NameError:
    print("Variable x is not defined")

Handling Multiple Exceptions

You can define as many except blocks as you want, to handle different types of errors.

1
2
3
4
5
6
7
try:
    # ... some code that might raise an error
    result = 10 / 0
except ZeroDivisionError:
    print("You can't divide by zero!")
except TypeError:
    print("Incorrect data type")

The else Block

The else block lets you execute code when there is no error.

1
2
3
4
5
6
try:
    print("Hello")
except:
    print("Something went wrong")
else:
    print("Nothing went wrong")

The finally Block

The finally block, if specified, will be executed regardless if the try block raises an error or not. This is useful for cleaning up resources, like closing a file.

1
2
3
4
5
6
7
8
9
10
try:
    f = open("demofile.txt")
    try:
        f.write("Lorum Ipsum")
    except:
        print("Something went wrong when writing to the file")
    finally:
        f.close()
except:
    print("Something went wrong when opening the file")

Raising an Exception

As a Python developer, you can choose to throw an exception if a condition occurs. To throw (or raise) an exception, use the raise keyword.

1
2
3
4
x = -1

if x < 0:
    raise Exception("Sorry, no numbers below zero")

Conclusion

Exception handling with try...except is an essential skill for writing robust and user-friendly Python programs. It allows you to anticipate and handle errors gracefully, preventing unexpected crashes and providing more meaningful feedback to your users. By using try, except, else, and finally, you can create more reliable and resilient applications.

This post is licensed under CC BY 4.0 by the author.