Warning — Advanced Examples
Base class for warning categories
Custom Warning subclass
Creating specialized exception subclasses of Warning.
python
# Custom exception hierarchy class DetailedError(Warning): 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 DetailedError( "Something went wrong", {"code": 42, "source": "test"} ) except Warning 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