Moved the CCompiler exceptions here, to avoid having to import ccompiler.py

just to get a little exception class.
No more string-based exceptions.
This commit is contained in:
Greg Ward 2000-05-30 02:02:14 +00:00
parent d151711e66
commit c1cb0493f8

View file

@ -12,42 +12,38 @@ symbols whose names start with "Distutils" and end with "Error"."""
__revision__ = "$Id$" __revision__ = "$Id$"
import types class DistutilsError (Exception):
if type (RuntimeError) is types.ClassType:
class DistutilsError (Exception):
"""The root of all Distutils evil.""" """The root of all Distutils evil."""
pass pass
class DistutilsModuleError (DistutilsError): class DistutilsModuleError (DistutilsError):
"""Unable to load an expected module, or to find an expected class """Unable to load an expected module, or to find an expected class
within some module (in particular, command modules and classes).""" within some module (in particular, command modules and classes)."""
pass pass
class DistutilsClassError (DistutilsError): class DistutilsClassError (DistutilsError):
"""Some command class (or possibly distribution class, if anyone """Some command class (or possibly distribution class, if anyone
feels a need to subclass Distribution) is found not to be holding feels a need to subclass Distribution) is found not to be holding
up its end of the bargain, ie. implementing some part of the up its end of the bargain, ie. implementing some part of the
"command "interface.""" "command "interface."""
pass pass
class DistutilsGetoptError (DistutilsError): class DistutilsGetoptError (DistutilsError):
"""The option table provided to 'fancy_getopt()' is bogus.""" """The option table provided to 'fancy_getopt()' is bogus."""
pass pass
class DistutilsArgError (DistutilsError): class DistutilsArgError (DistutilsError):
"""Raised by fancy_getopt in response to getopt.error -- ie. an """Raised by fancy_getopt in response to getopt.error -- ie. an
error in the command line usage.""" error in the command line usage."""
pass pass
class DistutilsFileError (DistutilsError): class DistutilsFileError (DistutilsError):
"""Any problems in the filesystem: expected file not found, etc. """Any problems in the filesystem: expected file not found, etc.
Typically this is for problems that we detect before IOError or Typically this is for problems that we detect before IOError or
OSError could be raised.""" OSError could be raised."""
pass pass
class DistutilsOptionError (DistutilsError): class DistutilsOptionError (DistutilsError):
"""Syntactic/semantic errors in command options, such as use of """Syntactic/semantic errors in command options, such as use of
mutually conflicting options, or inconsistent options, mutually conflicting options, or inconsistent options,
badly-spelled values, etc. No distinction is made between option badly-spelled values, etc. No distinction is made between option
@ -56,38 +52,41 @@ if type (RuntimeError) is types.ClassType:
the setup script, we'll raise DistutilsSetupError instead.""" the setup script, we'll raise DistutilsSetupError instead."""
pass pass
class DistutilsSetupError (DistutilsError): class DistutilsSetupError (DistutilsError):
"""For errors that can be definitely blamed on the setup script, """For errors that can be definitely blamed on the setup script,
such as invalid keyword arguments to 'setup()'.""" such as invalid keyword arguments to 'setup()'."""
pass pass
class DistutilsPlatformError (DistutilsError): class DistutilsPlatformError (DistutilsError):
"""We don't know how to do something on the current platform (but """We don't know how to do something on the current platform (but
we do know how to do it on some platform) -- eg. trying to compile we do know how to do it on some platform) -- eg. trying to compile
C files on a platform not supported by a CCompiler subclass.""" C files on a platform not supported by a CCompiler subclass."""
pass pass
class DistutilsExecError (DistutilsError): class DistutilsExecError (DistutilsError):
"""Any problems executing an external program (such as the C """Any problems executing an external program (such as the C
compiler, when compiling C files).""" compiler, when compiling C files)."""
pass pass
class DistutilsInternalError (DistutilsError): class DistutilsInternalError (DistutilsError):
"""Internal inconsistencies or impossibilities (obviously, this """Internal inconsistencies or impossibilities (obviously, this
should never be seen if the code is working!).""" should never be seen if the code is working!)."""
pass pass
# String-based exceptions
else:
DistutilsError = 'DistutilsError'
DistutilsModuleError = 'DistutilsModuleError'
DistutilsClassError = 'DistutilsClassError'
DistutilsGetoptError = 'DistutilsGetoptError'
DistutilsArgError = 'DistutilsArgError'
DistutilsFileError = 'DistutilsFileError'
DistutilsOptionError = 'DistutilsOptionError'
DistutilsPlatformError = 'DistutilsPlatformError'
DistutilsExecError = 'DistutilsExecError'
DistutilsInternalError = 'DistutilsInternalError'
del types # Exception classes used by the CCompiler implementation classes
class CCompilerError (Exception):
"""Some compile/link operation failed."""
class CompileError (CCompilerError):
"""Failure to compile one or more C/C++ source files."""
class LibError (CCompilerError):
"""Failure to create a static library from one or more C/C++ object
files."""
class LinkError (CCompilerError):
"""Failure to link one or more C/C++ object files into an executable
or shared library file."""