What is Exception Handling?
A mechanism for managing runtime errors using try, except, else, and finally blocks to prevent program crashes.
Exception handling allows programs to gracefully handle errors. The try block contains risky code, except catches specific exceptions, else runs if no exception occurred, and finally always executes (cleanup).
Python has a hierarchy of built-in exceptions (ValueError, TypeError, FileNotFoundError, etc.). Custom exceptions are created by subclassing Exception.