GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing www.geeksforgeeks.org — Python Exception Handling - GeeksforGeeks Python Exception HandlingLast Updated : 29 May, 2026 Exception Handling allows a program to handle unexpected errors during execution in a controlled way, instead of crashing abruptly. It enables programs to detect errors, manage them properly and continue execution wherever possible.
Below is a basic example demonstrating how to catch an exception and handle it gracefully:
Output Can't be divided by zero! Explanation: Dividing a number by 0 raises a ZeroDivisionError. The try block contains code that may fail and except block catches the error, printing a safe message instead of stopping the program. SyntaxPython provides four main keywords for handling exceptions: try, except, else and finally each plays a unique role. Let's see syntax:
Example: This code attempts division and handles errors gracefully using try-except-else-finally.
Output You can't divide by zero! Execution complete. Explanation: try block attempts division, except blocks catch specific errors, else block executes only if no errors occur, while finally block always runs, signaling end of execution.
Catching ExceptionsWe can handle errors more efficiently by specifying the types of exceptions we expect. This can make code both safer and easier to debug. 1. Specific ExceptionsCatching specific exceptions makes code to respond to different exception types differently. It precisely makes your code safer and easier to debug. It avoids masking bugs by only reacting to the exact problems you expect. Example: This code handles ValueError and ZeroDivisionError with different messages.
Output Not Valid! Explanation: A ValueError occurs because "str" cannot be converted to an integer. If conversion had succeeded but x were 0, a ZeroDivisionError would have been caught instead. 2. Multiple ExceptionsWe can catch multiple exceptions in a single block if we need to handle them in the same way or we can separate them if different types of exceptions require different handling. Example: This code attempts to convert list elements and handles ValueError, TypeError and IndexError.
Output Error invalid literal for int() with base 10: 'twenty' Explanation: The ValueError is raised when trying to convert "twenty" to an integer. A TypeError could occur if incompatible types were used, while IndexError would trigger if the list index was out of range. 3. Catch-All Handlers and Their RisksCatch-all handler is used to call to catch any exception (similar to else statement). Use only except keyword to define it: Example: This code tries dividing a string by a number, which causes a TypeError.
Output Something went wrong! Explanation: A TypeError occurs because you can’t divide a string by a number. The bare except catches it, but this can make debugging harder since the actual error type is hidden. Use bare except only as a net. Raise an ExceptionWe raise an exception using the raise keyword followed by an instance of the exception class that we want to trigger. We can choose from built-in exceptions or define our own custom exceptions by inheriting from Python's built-in Exception class. Syntax:
Example: This code raises a ValueError if an invalid age is given.
Output Age cannot be negative. Explanation: The function checks if age is invalid. If it is, it raises a ValueError. This prevents invalid states from entering the program.
Errors vs ExceptionsErrors and exceptions are both issues in a program, but they differ in severity and handling.
Comment Explore |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |