Else Block in Exception Handling in Python
Else Block in Exception Handling in Python
The else block in Python exception handling executes only if the try block completes successfully without any exceptions. It’s placed after all except blocks and before the finally block.
Basic Syntax:
python
try:
# Code that might raise an exception
except SomeException:
# Handle the exception
else:
# Code that runs only if no exception occurred
finally:
# Code that always runs (optional)
5 Basic Examples:
Example 1: Basic Division Operation
python
try:
numerator = 10
denominator = 2
result = numerator / denominator
except ZeroDivisionError:
print("Error: Cannot divide by zero!")
else:
print(f"Division successful! Result: {result}")
# Output: Division successful! Result: 5.0
Example 2: File Operations
python
try:
file = open("example.txt", "r")
content = file.read()
except FileNotFoundError:
print("Error: File not found!")
else:
print("File read successfully!")
print(f"Content length: {len(content)} characters")
file.close()
Example 3: List Index Access
python
my_list = [1, 2, 3, 4, 5]
try:
value = my_list[2]
except IndexError:
print("Error: Index out of range!")
else:
print(f"Value at index 2: {value}")
# Output: Value at index 2: 3
Example 4: Dictionary Key Access
python
student = {"name": "Alice", "age": 20, "grade": "A"}
try:
email = student["email"]
except KeyError:
print("Error: Email key not found!")
else:
print(f"Student email: {email}")
# Output: Error: Email key not found!
Example 5: Multiple Operations
python
try:
num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))
result = num1 + num2
except ValueError:
print("Error: Please enter valid numbers!")
else:
print(f"Sum: {result}")
finally:
print("Operation completed.")
Key Points:
- The
elseblock runs only when no exceptions occur in the try block - It helps separate error-prone code from code that should only run if successful
- Makes code more readable by clearly distinguishing normal flow from error handling
- The
elseblock executes before thefinallyblock (if present)
When to use else:
- When you have code that should only execute if the try block succeeds
- To avoid catching exceptions that might be raised by the else block code
- To make your intention clear that certain code depends on the success of the try block