0
0
Pythonprogramming~5 mins

Try–except–else behavior in Python

Choose your learning style9 modes available
Introduction

Try-except-else helps you handle errors in your code safely. It lets you run special code if no errors happen.

When you want to try a task that might fail, like opening a file.
When you want to run some code only if no errors occurred.
When you want to separate error handling from normal code.
When you want to keep your program running even if something goes wrong.
Syntax
Python
try:
    # code that might cause an error
except SomeError:
    # code to handle the error
else:
    # code to run if no error happened

The else block runs only if the try block did not raise any error.

If an error happens, the else block is skipped.

Examples
This example divides 10 by 2. Since no error happens, the else block prints the result.
Python
try:
    x = 10 / 2
except ZeroDivisionError:
    print("Cannot divide by zero")
else:
    print("Division successful, result is", x)
This example tries to divide by zero, which causes an error. The except block runs, and the else block is skipped.
Python
try:
    x = 10 / 0
except ZeroDivisionError:
    print("Cannot divide by zero")
else:
    print("Division successful, result is", x)
Sample Program

This program defines a function to divide two numbers. It uses try-except-else to handle division errors. If division works, it prints the result. If division by zero happens, it prints an error message.

Python
def divide_numbers(a, b):
    try:
        result = a / b
    except ZeroDivisionError:
        print("Error: Cannot divide by zero.")
    else:
        print(f"Division successful: {a} / {b} = {result}")

print("Test 1:")
divide_numbers(10, 2)

print("Test 2:")
divide_numbers(10, 0)
OutputSuccess
Important Notes

The else block is useful to keep the code that runs only when no errors happen separate and clear.

Use except to catch specific errors you expect, so you don't hide other bugs.

Summary

try runs code that might fail.

except runs if an error happens.

else runs only if no error happened.