summaryrefslogtreecommitdiff
path: root/coverage/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/parser.py')
-rw-r--r--coverage/parser.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/coverage/parser.py b/coverage/parser.py
index f868d357..a9cceb35 100644
--- a/coverage/parser.py
+++ b/coverage/parser.py
@@ -203,7 +203,16 @@ class CodeParser(object):
statements.
"""
- self._raw_parse()
+
+ try:
+ self._raw_parse()
+ except tokenize.TokenError:
+ _, tokerr, _ = sys.exc_info()
+ msg, lineno = tokerr.args
+ raise NotPython(
+ "Couldn't parse '%s' as Python source: '%s' at %s" %
+ (self.filename, msg, lineno)
+ )
excluded_lines = self.first_lines(self.excluded)
ignore = excluded_lines + list(self.docstrings)