Python by example

Error Handling in Python

In Python, errors are handled using try-except blocks. When an error occurs, Python raises an exception which can be caught and processed.

Basic Try-Except

The try block contains code that might cause an exception, and the except block contains code to handle the exception.

try:
    x = 10 / 0  # Division by zero causes an error
except:
    print("An error occurred")  # Output: An error occurred

Catching Specific Exceptions

You can catch specific exceptions by specifying the exception type.

try:
    x = 10 / 0
except ZeroDivisionError:
    print("Division by zero")  # Output: Division by zero
except ValueError:
    print("Invalid value")

Accessing Exception Information

You can access the exception information using the as keyword.

try:
    x = 10 / 0
except ZeroDivisionError as error:
    print(f"Error message: {error}")  # Output: Error message: division by zero

Finally Block

The finally block is executed regardless of whether an exception occurred or not.

try:
    x = 10 / 2
    print(x)  # Output: 5.0
except ZeroDivisionError:
    print("Division by zero")
finally:
    print("This always executes")  # Output: This always executes

Else Block

The else block is executed only if no exceptions occur in the try block.

try:
    x = 10 / 5
except ZeroDivisionError:
    print("Division by zero")
else:
    print(f"Result is {x}")  # Output: Result is 2.0

Raising Exceptions

You can raise exceptions using the raise keyword.

x = -5
if x < 0:
    raise ValueError("x cannot be negative")  # Raises: ValueError: x cannot be negative

Common Built-in Exceptions

Python has many built-in exceptions such as:

Next example: Testing