Learning sections show
Exception Handling in Python
Exception handling in Python is done through the use of try
, except
, else
, and finally
blocks. This allows you to catch and handle errors gracefully. Below are some examples and explanations:
1. Basic Try-Except
The try
block lets you test a block of code for errors. The except
block lets you handle the error.
# Example of basic try-except
try:
result = 10 / 0
except ZeroDivisionError:
print("Cannot divide by zero!")
# Output:
# Cannot divide by zero!
2. Handling Multiple Exceptions
You can catch multiple exceptions by specifying multiple except
blocks.
# Example of handling multiple exceptions
try:
result = 10 / 0
except ZeroDivisionError:
print("Cannot divide by zero!")
except TypeError:
print("Invalid operation!")
# Output:
# Cannot divide by zero!
3. Using Else
The else
block lets you execute code if no exceptions were raised.
# Example of using else with try-except
try:
result = 10 / 2
except ZeroDivisionError:
print("Cannot divide by zero!")
else:
print("The result is", result)
# Output:
# The result is 5.0
4. Using Finally
The finally
block lets you execute code, regardless of the result of the try
and except
blocks.
# Example of using finally
try:
result = 10 / 0
except ZeroDivisionError:
print("Cannot divide by zero!")
finally:
print("This will always execute")
# Output:
# Cannot divide by zero!
# This will always execute
5. Raising Exceptions
You can raise exceptions using the raise
keyword.
# Example of raising an exception
def check_positive(number):
if number < 0:
raise ValueError("Number must be positive")
try:
check_positive(-10)
except ValueError as e:
print(e)
# Output:
# Number must be positive
6. Custom Exceptions
You can define your own exceptions by creating a new class that inherits from the built-in Exception
class.
# Example of custom exceptions
class CustomError(Exception):
pass
try:
raise CustomError("This is a custom error")
except CustomError as e:
print(e)
# Output:
# This is a custom error