Examples of Python Exceptions

Comprehensive Examples of Python Exceptions

Here are examples of common Python exceptions with simple programs:

1. SyntaxError

# Missing colon
if True
    print("Hello")

# Missing parenthesis
print("Hello"

2. IndentationError

def my_function():
print("Indented wrong")  # Missing indentation

if True:
    print("Proper")
     print("Wrong indentation")  # Inconsistent indentation

3. NameError

print(undefined_variable)  # Variable not defined

def my_func():
    print(non_existent)

my_func()

4. TypeError

# Adding incompatible types
result = "5" + 3

# Wrong number of arguments
def greet(name):
    return f"Hello {name}"

greet()  # Missing argument

# Invalid operation on type
len(42)  # Integer has no length

5. ValueError

# Invalid conversion
number = int("abc")

# Invalid value for function
float("12.34.56")

# Empty sequence
empty_list = []
value = max(empty_list)

6. IndexError

my_list = [1, 2, 3]
print(my_list[5])  # Index out of range

empty_list = []
print(empty_list[0])  # No elements

7. KeyError

my_dict = {"name": "John", "age": 25}
print(my_dict["address"])  # Key doesn't exist

empty_dict = {}
print(empty_dict["any_key"])

8. ZeroDivisionError

result = 10 / 0

numbers = [1, 0, 2]
for num in numbers:
    print(5 / num)  # Will fail when num is 0

9. FileNotFoundError

with open("non_existent_file.txt", "r") as file:
    content = file.read()

import os
os.remove("file_that_doesnt_exist.txt")

10. PermissionError

# Try to write to a read-only file (create a read-only file first)
with open("read_only_file.txt", "w") as file:
    file.write("test")

11. ImportError

import non_existent_module

from math import non_existent_function

12. AttributeError

x = 5
x.append(10)  # Integer has no append method

class MyClass:
    pass

obj = MyClass()
obj.undefined_method()

13. RuntimeError

# Custom runtime error
def problematic_function():
    raise RuntimeError("Something went wrong!")

problematic_function()

14. RecursionError

def infinite_recursion():
    return infinite_recursion()

infinite_recursion()  # Maximum recursion depth exceeded

15. KeyboardInterrupt

# Run this and press Ctrl+C
try:
    while True:
        pass
except KeyboardInterrupt:
    print("Program interrupted by user!")

16. MemoryError

# This may cause MemoryError on systems with limited memory
try:
    huge_list = [0] * (10**10)
except MemoryError:
    print("Out of memory!")

17. OverflowError

import math
try:
    result = math.exp(1000)  # Too large for float
except OverflowError:
    print("Number too large!")

18. StopIteration

iterator = iter([1, 2])
print(next(iterator))  # 1
print(next(iterator))  # 2
print(next(iterator))  # Raises StopIteration

19. AssertionError

x = 5
assert x == 10, "x should be 10"  # Assertion fails

def divide(a, b):
    assert b != 0, "Cannot divide by zero"
    return a / b

divide(10, 0)

20. UnboundLocalError

x = 10

def my_function():
    print(x)  # This would work
    x = 5     # But this makes x local

my_function()  # UnboundLocalError

21. ModuleNotFoundError

try:
    import non_existent_package
except ModuleNotFoundError as e:
    print(f"Module not found: {e}")

22. TimeoutError

import socket
socket.setdefaulttimeout(0.0001)
try:
    socket.getaddrinfo("example.com", 80)
except TimeoutError:
    print("Connection timed out")

23. NotImplementedError

class AbstractClass:
    def must_implement(self):
        raise NotImplementedError("Subclasses must implement this method")

class ConcreteClass(AbstractClass):
    pass  # Forgot to implement the method

obj = ConcreteClass()
obj.must_implement()

24. Complete Example with Multiple Exceptions

def demonstrate_exceptions():
    exceptions = [
        ("NameError", lambda: print(undefined_var)),
        ("TypeError", lambda: "5" + 3),
        ("IndexError", lambda: [1, 2, 3][10]),
        ("KeyError", lambda: {"a": 1}["b"]),
        ("ZeroDivisionError", lambda: 10 / 0),
        ("ValueError", lambda: int("abc")),
    ]

    for name, func in exceptions:
        try:
            func()
        except Exception as e:
            print(f"{name}: {type(e).__name__} - {e}")

demonstrate_exceptions()

25. Custom Exception

class CustomError(Exception):
    def __init__(self, message):
        self.message = message
        super().__init__(self.message)

def validate_age(age):
    if age < 0:
        raise CustomError("Age cannot be negative!")
    if age > 150:
        raise CustomError("Age seems unrealistic!")
    return True

try:
    validate_age(-5)
except CustomError as e:
    print(f"Custom error: {e}")

26. Multiple Exception Handling

def handle_multiple_errors():
    try:
        # This will cause different errors based on input
        num = int(input("Enter a number: "))
        result = 100 / num
        print(f"100 divided by {num} is {result}")

    except ValueError:
        print("Please enter a valid integer!")
    except ZeroDivisionError:
        print("Cannot divide by zero!")
    except Exception as e:
        print(f"Unexpected error: {e}")

handle_multiple_errors()

These examples demonstrate the most common exceptions you’ll encounter in Python programming. Each exception serves as a specific signal about what went wrong in your code.

Similar Posts

  • Combined Character Classes

    Combined Character Classes Explained with Examples 1. [a-zA-Z0-9_] – Word characters (same as \w) Description: Matches any letter (lowercase or uppercase), any digit, or underscore Example 1: Extract all word characters from text python import re text = “User_name123! Email: test@example.com” result = re.findall(r'[a-zA-Z0-9_]’, text) print(result) # [‘U’, ‘s’, ‘e’, ‘r’, ‘_’, ‘n’, ‘a’, ‘m’, ‘e’, ‘1’, ‘2’,…

  • Random Module?

    What is the Random Module? The random module in Python is used to generate pseudo-random numbers. It’s perfect for: Random Module Methods with Examples 1. random() – Random float between 0.0 and 1.0 Generates a random floating-point number between 0.0 (inclusive) and 1.0 (exclusive). python import random # Example 1: Basic random float print(random.random()) # Output: 0.5488135079477204 # Example…

  • Vs code

    What is VS Code? 💻 Visual Studio Code (VS Code) is a free, lightweight, and powerful code editor developed by Microsoft. It supports multiple programming languages (Python, JavaScript, Java, etc.) with: VS Code is cross-platform (Windows, macOS, Linux) and widely used for web development, data science, and general programming. 🌐📊✍️ How to Install VS Code…

  • Static Methods

    The primary use of a static method in Python classes is to define a function that logically belongs to the class but doesn’t need access to the instance’s data (like self) or the class’s state (like cls). They are essentially regular functions that are grouped within a class namespace. Key Characteristics and Use Cases General…

Leave a Reply

Your email address will not be published. Required fields are marked *