[Python-ideas] Arguments to exceptions

Brendan Barnwell brenbarn at brenbarn.net
Tue Jul 4 17:47:58 EDT 2017

On 2017-07-04 13:54, Terry Reedy wrote:
> There have been many proposals for what we might call RichExceptions,
> with more easily access information.  But as Raymond Hettinger keeps
> pointing out, Python does not use exceptions only for (hopefully rare)
> errors.  It also uses them as signals for flow control, both as an
> alternative form for alternation and for iteration.  Alternation with
> try:except instead of if:else is common.  In the try: unicode example
> above, the NameError is not an error.  Until 2.2, IndexError served the
> role of StopIteration today, and can still be used for iteration.  For
> flow control, richer exceptions just slow code execution.

	How significant is this slowdown in practical terms?  Rejecting all 
"rich" exceptions just because they might add a bit of a slowdown seems 
premature to me.  The information available from the rich exceptions has 
value that may or may not outweigh the performance hit.

Brendan Barnwell
"Do not follow where the path may lead.  Go, instead, where there is no 
path, and leave a trail."
    --author unknown

More information about the Python-ideas mailing list