Raising exceptions#

We’ve seen how to handle exceptions, and we’ve all definitely written code that raises exceptions. Sometimes your code is in a bad state and there’s nothing you can do locally to solve the problem. In such a case, the right choice is to raise an exception. Here’s an example related to input validation: a poorly chosen user password

The raise keyword will raise an exception. Typically it’ll be of the form raise BlahError("description of what went wrong"); in the example above, we use ValueError in exactly that way. You can only raise exceptions; Python has many built-in exceptions, and you should generally use those. For example, raising a ValueError when given a bad value, or IndexError when something is out of bounds. We’ll learn later in the semester how to create our own exceptions. If you can’t find anything builtin that’s a good match, you can always raise a RuntimeError.