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