Home | History | Annotate | Download | only in distutils
      1 """distutils.errors
      2 
      3 Provides exceptions used by the Distutils modules.  Note that Distutils
      4 modules may raise standard exceptions; in particular, SystemExit is
      5 usually raised for errors that are obviously the end-user's fault
      6 (eg. bad command-line arguments).
      7 
      8 This module is safe to use in "from ... import *" mode; it only exports
      9 symbols whose names start with "Distutils" and end with "Error"."""
     10 
     11 class DistutilsError (Exception):
     12     """The root of all Distutils evil."""
     13     pass
     14 
     15 class DistutilsModuleError (DistutilsError):
     16     """Unable to load an expected module, or to find an expected class
     17     within some module (in particular, command modules and classes)."""
     18     pass
     19 
     20 class DistutilsClassError (DistutilsError):
     21     """Some command class (or possibly distribution class, if anyone
     22     feels a need to subclass Distribution) is found not to be holding
     23     up its end of the bargain, ie. implementing some part of the
     24     "command "interface."""
     25     pass
     26 
     27 class DistutilsGetoptError (DistutilsError):
     28     """The option table provided to 'fancy_getopt()' is bogus."""
     29     pass
     30 
     31 class DistutilsArgError (DistutilsError):
     32     """Raised by fancy_getopt in response to getopt.error -- ie. an
     33     error in the command line usage."""
     34     pass
     35 
     36 class DistutilsFileError (DistutilsError):
     37     """Any problems in the filesystem: expected file not found, etc.
     38     Typically this is for problems that we detect before OSError
     39     could be raised."""
     40     pass
     41 
     42 class DistutilsOptionError (DistutilsError):
     43     """Syntactic/semantic errors in command options, such as use of
     44     mutually conflicting options, or inconsistent options,
     45     badly-spelled values, etc.  No distinction is made between option
     46     values originating in the setup script, the command line, config
     47     files, or what-have-you -- but if we *know* something originated in
     48     the setup script, we'll raise DistutilsSetupError instead."""
     49     pass
     50 
     51 class DistutilsSetupError (DistutilsError):
     52     """For errors that can be definitely blamed on the setup script,
     53     such as invalid keyword arguments to 'setup()'."""
     54     pass
     55 
     56 class DistutilsPlatformError (DistutilsError):
     57     """We don't know how to do something on the current platform (but
     58     we do know how to do it on some platform) -- eg. trying to compile
     59     C files on a platform not supported by a CCompiler subclass."""
     60     pass
     61 
     62 class DistutilsExecError (DistutilsError):
     63     """Any problems executing an external program (such as the C
     64     compiler, when compiling C files)."""
     65     pass
     66 
     67 class DistutilsInternalError (DistutilsError):
     68     """Internal inconsistencies or impossibilities (obviously, this
     69     should never be seen if the code is working!)."""
     70     pass
     71 
     72 class DistutilsTemplateError (DistutilsError):
     73     """Syntax error in a file list template."""
     74 
     75 class DistutilsByteCompileError(DistutilsError):
     76     """Byte compile error."""
     77 
     78 # Exception classes used by the CCompiler implementation classes
     79 class CCompilerError (Exception):
     80     """Some compile/link operation failed."""
     81 
     82 class PreprocessError (CCompilerError):
     83     """Failure to preprocess one or more C/C++ files."""
     84 
     85 class CompileError (CCompilerError):
     86     """Failure to compile one or more C/C++ source files."""
     87 
     88 class LibError (CCompilerError):
     89     """Failure to create a static library from one or more C/C++ object
     90     files."""
     91 
     92 class LinkError (CCompilerError):
     93     """Failure to link one or more C/C++ object files into an executable
     94     or shared library file."""
     95 
     96 class UnknownFileError (CCompilerError):
     97     """Attempt to process an unknown file type."""
     98