Python : Try Except

In Python, the try and except blocks are used for error handling, allowing you to handle exceptions gracefully and prevent your program from crashing when errors occur. Here's how the try and except blocks work:

Try-Except Block:


The try block is used to wrap code that might raise an exception. If an exception occurs within the try block, Python looks for a matching except block to handle the exception.


try:
    Code that might raise an exception
    result = 10 / 0  # Attempting to divide by zero
except ZeroDivisionError:

    Handling the specific exception
    print("Error: Cannot divide by zero")
 

Handling Multiple Exceptions:


You can have multiple except blocks to handle different types of exceptions.


try:
   Code that might raise an exception
    value = int(input("Enter a number: "))
    result = 10 / value
except ValueError:

   Handling a ValueError (e.g., if the input cannot be converted to an integer)
    print("Error: Invalid input")
except ZeroDivisionError:

   Handling a ZeroDivisionError (e.g., if the user inputs zero)
    print("Error: Cannot divide by zero")
 

Handling Any Exception:


You can use a generic except block without specifying the type of exception to catch any exception that is not handled by previous except blocks.


try:
    Code that might raise an exception
    result = 10 / 0  # Attempting to divide by zero
except ZeroDivisionError:

    Handling the specific exception
    print("Error: Cannot divide by zero")
except:

    Handling any other exception
    print("An error occurred")

Else Block:


You can optionally include an else block after all except blocks to execute code if no exception occurs.


try:
   Code that might raise an exception
    value = int(input("Enter a number: "))
except ValueError:

    Handling a ValueError (e.g., if the input cannot be converted to an integer)
    print("Error: Invalid input")
else:

    Executed if no exception occurs
    result = 10 / value
    print("Result:", result)

 

Finally Block:


You can include a finally block to execute code regardless of whether an exception occurs or not. The finally block is often used for cleanup tasks such as closing files or releasing resources.


try:
   Code that might raise an exception
    file = open("example.txt", "r")
    data = file.read()
    print(data)
except FileNotFoundError:
    print("Error: File not found")
finally:

    Executed regardless of whether an exception occurs
    file.close()  # Closing the file
 

The try and except blocks are essential for handling errors in Python programs, allowing you to write robust and reliable code that gracefully handles unexpected situations. By using error handling techniques, you can improve the resilience of your programs and provide better user experiences.