From cddf982a0a16db11bfb68bd4c620535ac44bcb4b Mon Sep 17 00:00:00 2001 From: Wouter Bolsterlee Date: Fri, 5 Aug 2016 11:16:27 +0200 Subject: [PATCH] Do not treat AttributeError as if it were an IOError ...and avoid .strerror altogether since py3 does not have it. See #203. --- src/flake8/exceptions.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/flake8/exceptions.py b/src/flake8/exceptions.py index 71738b2..55187bb 100644 --- a/src/flake8/exceptions.py +++ b/src/flake8/exceptions.py @@ -36,16 +36,11 @@ class InvalidSyntax(Flake8Exception): def __init__(self, *args, **kwargs): """Initialize our InvalidSyntax exception.""" - self.original_exception = kwargs.pop('exception') + self.original_exception = exc = kwargs.pop('exception') + self.error_message = str(exc) if exc is not None else '' self.error_code = 'E902' self.line_number = 1 self.column_number = 0 - try: - self.error_message = self.original_exception.message - except AttributeError: - # On Python 3, the IOError is an OSError which has a - # strerror attribute instead of a message attribute - self.error_message = self.original_exception.strerror super(InvalidSyntax, self).__init__(*args, **kwargs)