Cleaned up/simplified error-handling:
- DistutilsOptionError is now documented as it's actually used, ie.
to indicate bogus option values (usually user options, eg. from
the command-line)
- added DistutilsSetupError to indicate errors that definitely arise
in the setup script
- got rid of DistutilsValueError, and changed all usage of it to
either DistutilsSetupError or ValueError as appropriate
- simplified a bunch of option get/set methods in Command and
Distribution classes -- just pass on AttributeError most of
the time, rather than turning it into something else
diff --git a/Lib/distutils/errors.py b/Lib/distutils/errors.py
index f9d5c8d..61cdb72 100644
--- a/Lib/distutils/errors.py
+++ b/Lib/distutils/errors.py
@@ -46,15 +46,18 @@
class DistutilsFileError (DistutilsError):
pass
- # DistutilsOptionError is raised anytime an attempt is made to access
- # (get or set) an option that does not exist for a particular command
- # (or for the distribution itself).
+ # DistutilsOptionError is raised for syntactic/semantic errors in
+ # command options, such as use of mutually conflicting options, or
+ # inconsistent options, badly-spelled values, etc. No distinction is
+ # made between option values originating in the setup script, the
+ # command line, config files, or what-have-you.
class DistutilsOptionError (DistutilsError):
pass
- # DistutilsValueError is raised anytime an option value (presumably
- # provided by setup.py) is invalid.
- class DistutilsValueError (DistutilsError):
+ # DistutilsSetupError is raised for errors that can be definitely
+ # blamed on the setup script, such as invalid keyword arguments to
+ # 'setup()'.
+ class DistutilsSetupError (DistutilsError):
pass
# DistutilsPlatformError is raised when we find that we don't
@@ -82,7 +85,6 @@
DistutilsArgError = 'DistutilsArgError'
DistutilsFileError = 'DistutilsFileError'
DistutilsOptionError = 'DistutilsOptionError'
- DistutilsValueError = 'DistutilsValueError'
DistutilsPlatformError = 'DistutilsPlatformError'
DistutilsExecError = 'DistutilsExecError'
DistutilsInternalError = 'DistutilsInternalError'