• Brett Cannon's avatar
    Issue #15767: Introduce ModuleNotFoundError, a subclass of · b1611e27
    Brett Cannon yazdı
    ImportError.
    
    The exception is raised by import when a module could not be found.
    Technically this is defined as no viable loader could be found for the
    specified module. This includes ``from ... import`` statements so that
    the module usage is consistent for all situations where import
    couldn't find what was requested.
    
    This should allow for the common idiom of::
    
      try:
        import something
      except ImportError:
        pass
    
    to be updated to using ModuleNotFoundError and not accidentally mask
    ImportError messages that should propagate (e.g. issues with a
    loader).
    
    This work was driven by the fact that the ``from ... import``
    statement needed to be able to tell the difference between an
    ImportError that simply couldn't find a module (and thus silence the
    exception so that ceval can raise it) and an ImportError that
    represented an actual problem.
    b1611e27
pyerrors.h 14.4 KB