A blank raise
raises the last exception.
# need to re-raise err so caller can do its own handling
if err:
raise
If you use raise something
Python has no way of knowing if something
was an exception just caught before, or a new exception with a new stack trace. That’s why there is the blank raise
that preserves the stack trace.
Reference here