"""Shared exception types.

A distinct base class so the CLI can catch ablate's own failures and print a
clean message, rather than a Python traceback, while still letting real bugs
through as unhandled exceptions.
"""


class AblateError(Exception):
    """A user-facing failure: bad input, missing binary, failed precondition."""
