Exception — Advanced Examples
Base class for all non-exit exceptions; used to define custom exceptions
Custom Exception subclass
Creating specialized exception subclasses of Exception.
python
# Custom exception hierarchy class DetailedExceptionError(Exception): def __init__(self, message, details=None): super().__init__(message) self.details = details or {} def __str__(self): base = super().__str__() if self.details: detail_str = ", ".join(f"{k}={v}" for k, v in self.details.items()) return f"{base} [{detail_str}]" return base try: raise DetailedExceptionError( "Something went wrong", {"code": 42, "source": "test"} ) except Exception as e: print(f"Caught: {e}") if hasattr(e, 'details'): print(f"Details: {e.details}")
Custom exception subclasses let you add context and structure to your error handling.
Want to try these examples interactively?
Open Advanced Playground