summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
Diffstat (limited to 'coverage')
-rw-r--r--coverage/cmdline.py4
-rw-r--r--coverage/misc.py18
2 files changed, 16 insertions, 6 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py
index 9d9d6536..ce929f48 100644
--- a/coverage/cmdline.py
+++ b/coverage/cmdline.py
@@ -13,7 +13,7 @@ import traceback
from coverage import env
from coverage.collector import CTracer
from coverage.execfile import run_python_file, run_python_module
-from coverage.misc import CoverageException, ExceptionDuringRun, NoSource
+from coverage.misc import BaseCoverageException, ExceptionDuringRun, NoSource
from coverage.debug import info_formatter, info_header
@@ -760,7 +760,7 @@ def main(argv=None):
# exception.
traceback.print_exception(*err.args)
status = ERR
- except CoverageException as err:
+ except BaseCoverageException as err:
# A controlled error inside coverage.py: print the message to the user.
print(err)
status = ERR
diff --git a/coverage/misc.py b/coverage/misc.py
index cb9248d2..d3723e29 100644
--- a/coverage/misc.py
+++ b/coverage/misc.py
@@ -255,8 +255,13 @@ class SimpleRepr(object):
)
-class CoverageException(Exception):
- """An exception specific to coverage.py."""
+class BaseCoverageException(Exception):
+ """The base of all Coverage exceptions."""
+ pass
+
+
+class CoverageException(BaseCoverageException):
+ """A run-of-the-mill exception specific to coverage.py."""
pass
@@ -298,6 +303,11 @@ class StopEverything(getattr(unittest, 'SkipTest', Exception)):
pass
-class IncapablePython(CoverageException, StopEverything):
- """An operation is attempted that this version of Python cannot do."""
+class IncapablePython(BaseCoverageException, StopEverything):
+ """An operation is attempted that this version of Python cannot do.
+
+ This is derived from BaseCoverageException, not CoverageException, so that
+ it won't get caught by 'except CoverageException'.
+
+ """
pass