Commits

Tarek Ziadé committed ab6dd88

fixed the way exception definitions are bind

Comments (0)

Files changed (2)

flake8/pyflakes.py

     COMPREHENSION = KEYWORD = handleChildren
 
     def EXCEPTHANDLER(self, node):
-        self.scope[node.name] = node
+        if node.name is not None:
+            self.addBinding(node.lineno, FunctionDefinition(node.name, node))
 
     def addBinding(self, lineno, value, reportRedef=True):
         '''Called when a binding is altered.
                 Check to see if any assignments have not been used.
                 """
                 for name, binding in self.scope.items():
-                    if (not binding.used and not name in self.scope.globals
+                    try:
+                        if (not binding.used and not name in self.scope.globals
                         and isinstance(binding, Assignment)):
-                        self.report(messages.UnusedVariable,
+                            self.report(messages.UnusedVariable,
                                     binding.source.lineno, name)
+                    except:
+                        raise Exception(binding)
+                        import pdb; pdb.set_trace()
+
             self.deferAssignment(checkUnusedAssignments)
             self.popScope()
 

flake8/tests/test_flakes.py

     print(err)
 """
 
+code2 = """
+try:
+    pass
+except ValueError:
+    print(err)
+
+try:
+    pass
+except ValueError:
+    print(err)
+"""
+
 
 class TestFlake(TestCase):
 
     def test_exception(self):
-        warnings = check(code)
-        self.assertEqual(warnings, 0)
+        for c in (code, code2):
+            warnings = check(code)
+            self.assertEqual(warnings, 0)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.