Learn how to use CPException and its subclasses, and then set up a system to raise those exceptions correctly.