Exception Handling in Python
gocourse.in Maintenance

We'll be back soon

Our CDN (cdn.gocourse.in) is currently unreachable. Some images, JavaScript, or CSS files may not load properly.

Estimated downtime: ~30 minutes

Exception Handling in Python

Kishore V

Exception Handling in Python

In Python, exception handling allows you to manage runtime errors gracefully instead of letting the program crash. This is done using the try, except, else, and finally blocks.

Understanding the Exception Blocks

  • try → Tests a block of code for possible errors
  • except → Handles the error if one occurs
  • else → Executes when no error occurs
  • finally → Executes no matter what (error or no error)

Basic Exception Handling

When an error occurs, Python normally stops execution and shows an error message. Using try and except, you can catch and handle that error.

Example: Handling an Undefined Variable

An error occurred: variable is not defined

Since total is not defined, the except block runs instead of crashing the program.

Program Without Exception Handling

Without try-except, the program stops immediately when an error occurs.

NameError: name 'total' is not defined

Handling Multiple Exceptions

You can use multiple except blocks to handle different types of errors differently.

Example: Specific vs General Errors

Conversion failed: not a valid number

This allows you to provide more meaningful error messages depending on what goes wrong.

Using the else Block

The else block runs only if no exception occurs in the try block.

Example: Successful Execution

Division successful: 5.0

Using the finally Block

The finally block always executes, whether an exception occurs or not. It is commonly used for cleanup tasks like closing files or releasing resources.

Example: Finally Block Execution

Execution completed

Real-World Example: File Handling with Exceptions

The finally block ensures that a file is closed properly, preventing resource leaks even if an error occurs. (Note: In a robust script, it is best practice to check if the file was successfully opened before calling close() to avoid secondary NameErrors).

File not found Cleanup step executed

Raising Exceptions Manually

As a developer, you can raise your own exceptions when certain conditions are met using the raise keyword.

Example: Raise an Exception for Invalid Values

Exception: Score cannot be negative

Raising Specific Exception Types

You can raise built-in exception types like TypeError, ValueError, etc.

TypeError: Age must be an integer

Why Use Exception Handling?

  • Prevents program crashes
  • Improves user experience
  • Makes debugging easier
  • Ensures clean resource management
Our website uses cookies to enhance your experience. Learn More
Accept !