Have you ever used a library, ran into a generic AttributeError, and then had to go chase down what the problem _actually_ was? Wouldn't it be great to help others from running into that same issue on _your_ code? In this talk, we take a look at custom exceptions in Python and ways to structure your code to use them effectively to communicate issues back to the end user (or end developer). We'll also cover a few cool lesser-used things you can do with exceptions to make your code really stand out!