Skip to main content

Introduction to Python Try Except

Python Try Except

The try-except statement is used for exception handling.

It allows you to catch and handle exceptions that may occur during the execution of your code, preventing your program from crashing.

Here's an overview of how to use try-except in Python:

Basic try-except Syntax

The basic syntax of the try-except statement is as follows:

try:
# Code block where an exception may occur
# ...
except ExceptionType:
# Code block to handle the exception
# ...

In this example:

  • In the try block, you place the code that may raise an exception. If an exception occurs within the try block, it is caught by the except block, which contains the code to handle the exception.

  • The ExceptionType is the specific type of exception you want to catch. You can catch specific exceptions like ValueError, TypeError, or you can use the generic Exception to catch all exceptions.

Handling Exceptions

Inside the except block, you write the code to handle the exception.

This could include printing an error message, logging the exception, or taking appropriate actions to handle the error gracefully.

As an example:

try:
num1 = int(input("Enter a number: "))
num2 = int(input("Enter another number: "))
result = num1 / num2
print("Result:", result)
except ValueError:
print("Invalid input. Please enter a valid number.")
except ZeroDivisionError:
print("Division by zero is not allowed.")

In this example:

  • The try block attempts to perform division based on user input.
  • If the user enters a non-numeric value, a ValueError exception is raised and caught by the first except block, which prints an error message.
  • If the user enters zero as the second number, a ZeroDivisionError exception is raised and caught by the second except block.

Handling Multiple Exceptions

You can handle multiple exceptions in a single try-except statement.

This can be useful when different exceptions require different handling logic.

As an example:

try:
# Code that may raise exceptions
# ...
except ExceptionType1:
# Code to handle ExceptionType1
# ...
except ExceptionType2:
# Code to handle ExceptionType2
# ...

You can have multiple except blocks to handle different exceptions. The first matching except block is executed, and subsequent except blocks are skipped.

Using else and finally

The try-except statement can also include an else block and a finally block.

The else block is executed if no exceptions are raised in the try block. The finally block is always executed, regardless of whether an exception occurred or not.

As an example:

try:
# Code that may raise exceptions
# ...
except ExceptionType:
# Code to handle the exception
# ...
else:
# Code to execute if no exceptions occurred
# ...
finally:
# Code to always execute, regardless of exceptions
# ...

The else block is optional, and the finally block is often used for cleaning up resources or finalizing operations, such as closing files or releasing locks.