Exception Handling

Python - A Quick Start for existing Programers

2 min read

Published Sep 16 2025, updated Sep 30 2025


21
0
0
0

Python

Python has a number of keywords associated with exception handling:

  • try → block of code to test.
  • except → block of code that runs if an error occurs.
  • else → runs if no exception occurs.
  • finally → always runs (cleanup code, e.g., close file).
  • raise → manually raise an exception.



Catching Exceptions

Catch specific exceptions:

try:
    x = 1 / 0
except ZeroDivisionError:
    print("Cannot divide by zero!")

Catch multiple:

try:
    val = int("abc")
except (ValueError, TypeError) as e:
    print("Error:", e)

Catch all (not recommended unless logging/debugging):

try:
    risky_code()
except Exception as e:
    print("Unexpected error:", e)




Raising Exceptions

def check_age(age):
    if age < 0:
        raise ValueError("Age cannot be negative!")
    return age




Built-in Exceptions

Base Classes:

  • BaseException → root of all exceptions.
  • Exception → base for most user errors.
  • ArithmeticError → base for numeric errors.
  • LookupError → base for indexing/key errors.

Common Everyday Exceptions:

  • Exception → generic base exception.
  • ValueError → invalid value (e.g., int("abc")).
  • TypeError → wrong type (e.g., 3 + "hi").
  • NameError → variable not defined.
  • IndexError → list index out of range.
  • KeyError → dict key not found.
  • ZeroDivisionError → divide by zero.
  • AttributeError → attribute doesn’t exist.
  • FileNotFoundError → missing file.
  • IOError → I/O error (alias of OSError).
  • ImportError → module can’t be imported.
  • ModuleNotFoundError → specific import error.
  • RuntimeError → generic runtime error.
  • StopIteration → end of iterator.
  • AssertionError → failed assert.

Arithmetic Errors:

  • ArithmeticError (base)
    • ZeroDivisionError
    • OverflowError (number too large)
    • FloatingPointError

Lookup Errors:

  • LookupError (base)
    • IndexError
    • KeyError

OS & System Exceptions:

  • OSError → base for system errors
    • FileNotFoundError
    • PermissionError
    • TimeoutError
  • EOFError → end of input reached.
  • KeyboardInterrupt → Ctrl+C pressed.
  • SystemExit → raised by sys.exit().

Other Useful Ones:

  • MemoryError → out of memory.
  • NotImplementedError → abstract method not implemented.
  • IndentationError / TabError → indentation problems.
  • UnicodeError (and subclasses: UnicodeEncodeError, UnicodeDecodeError, UnicodeTranslateError).




Demonstrate exception handling

def demo_exceptions():
    # Example 1: Simple try/except
    try:
        result = 10 / 0
    except ZeroDivisionError:
        print("Error: division by zero")

    # Example 2: Catch multiple errors
    try:
        num = int("hello") # ValueError
    except (ValueError, TypeError) as e:
        print("Conversion error:", e)

    # Example 3: try/except/else
    try:
        num = int("42")
    except ValueError:
        print("Invalid number")
    else:
        print("Converted successfully:", num)

    # Example 4: try/finally
    try:
        f = open("test.txt", "w")
        f.write("Hello")
    except IOError as e:
        print("File error:", e)
    finally:
        f.close()
        print("File closed safely")

    # Example 5: raise your own exception
    try:
        age = -5
        if age < 0:
            raise ValueError("Age cannot be negative")
    except ValueError as e:
        print("Custom exception caught:", e)

    # Example 6: Generic exception
    try:
        x = unknown_variable
    except Exception as e:
        print("Something went wrong:", e)

demo_exceptions()

Products from our shop

Docker Cheat Sheet - Print at Home Designs

Docker Cheat Sheet - Print at Home Designs

Docker Cheat Sheet Mouse Mat

Docker Cheat Sheet Mouse Mat

Docker Cheat Sheet Travel Mug

Docker Cheat Sheet Travel Mug

Docker Cheat Sheet Mug

Docker Cheat Sheet Mug

Vim Cheat Sheet - Print at Home Designs

Vim Cheat Sheet - Print at Home Designs

Vim Cheat Sheet Mouse Mat

Vim Cheat Sheet Mouse Mat

Vim Cheat Sheet Travel Mug

Vim Cheat Sheet Travel Mug

Vim Cheat Sheet Mug

Vim Cheat Sheet Mug

SimpleSteps.guide branded Travel Mug

SimpleSteps.guide branded Travel Mug

Developer Excuse Javascript - Travel Mug

Developer Excuse Javascript - Travel Mug

Developer Excuse Javascript Embroidered T-Shirt - Dark

Developer Excuse Javascript Embroidered T-Shirt - Dark

Developer Excuse Javascript Embroidered T-Shirt - Light

Developer Excuse Javascript Embroidered T-Shirt - Light

Developer Excuse Javascript Mug - White

Developer Excuse Javascript Mug - White

Developer Excuse Javascript Mug - Black

Developer Excuse Javascript Mug - Black

SimpleSteps.guide branded stainless steel water bottle

SimpleSteps.guide branded stainless steel water bottle

Developer Excuse Javascript Hoodie - Light

Developer Excuse Javascript Hoodie - Light

Developer Excuse Javascript Hoodie - Dark

Developer Excuse Javascript Hoodie - Dark

© 2025 SimpleSteps.guide
AboutFAQPoliciesContact