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
.png)