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

Antoine Pitrou solipsis at pitrou.net
Thu May 31 10:52:00 EDT 2018


On Thu, 31 May 2018 07:49:58 -0700
Ethan Furman <ethan at stoneleaf.us> wrote:
> On 05/31/2018 07:36 AM, Nick Coghlan wrote:
> 
> > The exception machinery deliberately attempts to avoid instantiating exception objects whenever it can, but that gets
> > significantly more difficult if we always need to create the instance before we can decide whether or not the raised
> > exception matches the given exception handler criteria.  
> 
> Why is this?  Doesn't the exception have to be instantiated at some point, even if just to print to stderr?

Nick is talking about exceptions that are ultimately silenced,
especially when caught from C code.  You're right that, once caught
from Python code, the exception *has* to be instantiated (since it is
bound to a user-visible variable).

Regards

Antoine.




More information about the Python-ideas mailing list