Issue 27997: ImportError should be raised consistently from import machinery. (original) (raw)

As indicated by issue #16384, the import machinery is not consistent in raising ImportError. Some places in _bootstrap.py (and _bootstrap_external.py) raise ImportError and others make no effort to wrap errors that get encountered. I would expect the import machinery to always raise ImportError, except that errors coming from executing a module to stay unwrapped.

I haven't had a chance yet to catalog the specific cases of inconsistency. Regardless, changing to be consistent would introduce backward compatibility. However, it should not be a big problem so I think we'd be okay (with an appropriate What's New entry).