[Python-ideas] exception instantiation philosophy and practice [was: Let try-except check the exception instance]

Greg Ewing greg.ewing at canterbury.ac.nz
Fri Jun 1 01:54:11 EDT 2018

Ethan Furman wrote:

> Why is this?  Doesn't the exception have to be instantiated at some 
> point, even if just to print to stderr?

If it gets caught by an except clause without an else clause,
in theory there's no need to instantiate it.

However, Python doesn't currently seem to take advantage of

 >>> class E(Exception):
...  def __init__(self, *args):
...   Exception.__init__(self, *args)
...   print("E got instantiated!")
 >>> try:
...  print("Trying")
...  raise E
... except E:
...  print("Caught an E")
E got instantiated!
Caught an E


More information about the Python-ideas mailing list