Try and Except
In Python, errors and exceptions can disrupt the flow of your program. To handle these issues gracefully, Python provides try and except blocks, which allow you to catch and manage exceptions without crashing your program.
Syntax
try:
# Code that may raise an exception
except SomeException:
# Code to handle the exceptionExample
try:
result = 10 / 0
except ZeroDivisionError:
print("You can't divide by zero!")- The code inside the
tryblock is executed first. - If an exception occurs, the code inside the except
blockis executed, handling the error.
Finally
The finally block is used to define cleanup actions that should be executed under all circumstances, whether an exception occurred or not.
Syntax
try:
# Code that may raise an exception
except SomeException:
# Code to handle the exception
finally:
# Code that will always executeExample
try:
file = open("example.txt", "r")
except FileNotFoundError:
print("File not found!")
finally:
print("Execution complete.")- The
finallyblock runs regardless of whether an exception was raised or not, making it useful for resource cleanup like closing files.
Raising Exceptions
You can raise exceptions in your code using the raise keyword. This is useful when you want to trigger an exception manually.
Syntax
if condition:
raise SomeException("Error message")Example
age = -1
if age < 0:
raise ValueError("Age cannot be negative!")- The
raisestatement is used to throw a specified exception with an optional error message.
Handling Multiple Exceptions
You can handle multiple exceptions by specifying them as a tuple in the except block or by chaining multiple except blocks.
Syntax
try:
# Code that may raise exceptions
except (ExceptionType1, ExceptionType2):
# Code to handle the exceptionsExample
try:
result = 10 / 0
except (ZeroDivisionError, TypeError):
print("An error occurred!")- You can catch multiple types of exceptions using a single
exceptblock or handle each exception type in separate blocks.


