This is all fine, I think would probably prefer to see it in the `exceptions.py` module.
It'd be nice for both the exceptions and their handler to be visible in the same place.