[Python-ideas] Arguments to exceptions
Steven D'Aprano
steve at pearwood.info
Wed Jul 5 07:36:35 EDT 2017
On Tue, Jul 04, 2017 at 11:37:51PM -0400, Terry Reedy wrote:
> I personally been on the side of wanting richer exceptions.
Could you explain what you would use them for? Ken has give two
use-cases which I personally consider are relatively niche, and perhaps
even counter-productive:
- translation into the user's native language;
- providing some sort of "did you mean...?" functionality.
Jeff Walker also suggested being able to extract the line and column
from certain kinds of JSON errors. (But that would depend on the json
module having an API that supports that use-case. You can't just say
line_no = exception.args[0] if there's no guarantee that it actually
will be the line number.)
What would you use these for? I imagine you're thinking of this as the
maintainer of IDLE?
> So what has
> been the resistance? Speed is definitely one. Maybe space? Probably
> maintenance cost. Lack of interest among true 'core' (C competent)
> developers?
Where there is a clear and obvious need the core devs have spent the
time to give the exception class a rich API for extracting useful
information. See OSError, which offers named attributes for the errno,
error message, Windows error number (when appropriate) and two file
names.
I expect that the fact that few of the other builtin or stdlib
exceptions similarly offer named attributes is because nobody thought
of it, or saw any need.
--
Steve
More information about the Python-ideas
mailing list