[Python-Dev] _not_found attribute on ImportError
Brett Cannon
brett at python.org
Mon Feb 11 15:44:47 CET 2013
More information about the Python-Dev mailing list
Mon Feb 11 15:44:47 CET 2013
- Previous message: [Python-Dev] _not_found attribute on ImportError
- Next message: [Python-Dev] Question regarding: Lib/_markupbase.py
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, Feb 11, 2013 at 9:23 AM, Barry Warsaw <barry at python.org> wrote: > On Feb 11, 2013, at 09:23 PM, Nick Coghlan wrote: > > >On Mon, Feb 11, 2013 at 8:58 PM, Chris Withers <chris at simplistix.co.uk> > wrote: > >> Have any other exceptions grown new attributes in Python 3? > > > >Off the top of my head, ImportError grew "name" and "path" attributes > >in 3.3, everything grew __cause__, __context__ and __traceback__ > >attributes in 3.0 and the __suppress_context__ attribute in 3.3. > > > >PEP 3151 may have moved a few attributes around in 3.3 as well. > > > >If there are any others, you'll need to trawl the What's New documents > >looking for them. > > Those public attributes should be documented. They are: http://docs.python.org/3.4/library/exceptions.html?highlight=importerror#ImportError > _not_found should not be since > it's an implementation detail. Yep, hence the leading underscore. > Also, Brett has left little TODO easter eggs > in the code which clearly indicate changes he plans for 3.4, although I > don't > know where the plans for ModuleNotFound are documented. > http://bugs.python.org/issue15767 Basically it's a matter of choosing ModuleNotFound vs. ModuleNotFoundError and then writing the code. -Brett > > In the meantime, I just ran a test against trunk, with the following change > and nothing broke afaict. > > diff -r a79650aacb43 Lib/importlib/_bootstrap.py > --- a/Lib/importlib/_bootstrap.py Mon Feb 11 13:33:00 2013 +0000 > +++ b/Lib/importlib/_bootstrap.py Mon Feb 11 09:16:51 2013 -0500 > @@ -1640,6 +1640,7 @@ > # TODO(brett): In Python 3.4, have import raise > # ModuleNotFound and catch that. > if getattr(exc, '_not_found', False): > + del exc._not_found > if exc.name == from_name: > continue > raise > > I won't commit this, but it really needs another hasattr() check to be > completely valid. > > Cheers, > -Barry > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/brett%40python.org > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20130211/6348d823/attachment.html>
- Previous message: [Python-Dev] _not_found attribute on ImportError
- Next message: [Python-Dev] Question regarding: Lib/_markupbase.py
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list