diff --git a/flake8/pyflakes.py b/flake8/pyflakes.py index 13c579e..e80968d 100644 --- a/flake8/pyflakes.py +++ b/flake8/pyflakes.py @@ -334,7 +334,11 @@ class Checker(object): def EXCEPTHANDLER(self, node): if node.name is not None: - self.addBinding(node.lineno, Assignment(node.name, node)) + if isinstance(node.name, str): + name = node.name + else: + name = node.name.id + self.addBinding(node.lineno, Assignment(name, node)) def runException(): for stmt in node.body: diff --git a/flake8/tests/test_flakes.py b/flake8/tests/test_flakes.py index cb99546..da10034 100644 --- a/flake8/tests/test_flakes.py +++ b/flake8/tests/test_flakes.py @@ -13,18 +13,25 @@ code2 = """ try: pass except ValueError: - print(err) + print("err") try: pass except ValueError: - print(err) + print("err") +""" + +code3 = """ +try: + pass +except (ImportError, ValueError): + print("err") """ class TestFlake(TestCase): def test_exception(self): - for c in (code, code2): + for c in (code, code2, code3): warnings = check(code) - self.assertEqual(warnings, 0) + self.assertEqual(warnings, 0, code)