How to use "raise" keyword in Python

Capurnicus picture Capurnicus · Dec 19, 2012 · Viewed 349.5k times · Source

I have read the official definition of "raise", but I still don't quite understand what it does.

In simplest terms, what is "raise"?

Example usage would help.

Answer

Ignacio Vazquez-Abrams picture Ignacio Vazquez-Abrams · Dec 19, 2012

It has 2 purposes.

yentup has given the first one.

It's used for raising your own errors.

if something:
    raise Exception('My error!')

The second is to reraise the current exception in an exception handler, so that it can be handled further up the call stack.

try:
  generate_exception()
except SomeException as e:
  if not can_handle(e):
    raise
  handle_exception(e)