Skip to content

Traceback when trying to parse except handler with invalid exception type #135

@wvffle

Description

@wvffle

I just ran into a problem where I made a typo and did:

try:
    # ...
except (MyException, NotImplemented):
    pass

As you can clearly see, it should be NotImplementedError but instead of telling me that, bugbear did traceback:

Traceback (most recent call last):
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/bin/flake8", line 8, in <module>
    sys.exit(main())
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/flake8/main/cli.py", line 22, in main
    app.run(argv)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/flake8/main/application.py", line 360, in run
    self._run(argv)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/flake8/main/application.py", line 348, in _run
    self.run_checks()
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/flake8/main/application.py", line 262, in run_checks
    self.file_checker_manager.run()
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/flake8/checker.py", line 334, in run
    self.run_serial()
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/flake8/checker.py", line 318, in run_serial
    checker.run_checks()
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/flake8/checker.py", line 598, in run_checks
    self.run_ast_checks()
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/flake8/checker.py", line 505, in run_ast_checks
    for (line_number, offset, text, _) in runner:
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 36, in run
    visitor.visit(self.tree)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 156, in visit
    super().visit(node)
  File "/usr/lib/python3.8/ast.py", line 363, in visit
    return visitor(node)
  File "/usr/lib/python3.8/ast.py", line 371, in generic_visit
    self.visit(item)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 156, in visit
    super().visit(node)
  File "/usr/lib/python3.8/ast.py", line 363, in visit
    return visitor(node)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 288, in visit_ClassDef
    self.generic_visit(node)
  File "/usr/lib/python3.8/ast.py", line 371, in generic_visit
    self.visit(item)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 156, in visit
    super().visit(node)
  File "/usr/lib/python3.8/ast.py", line 363, in visit
    return visitor(node)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 278, in visit_AsyncFunctionDef
    self.generic_visit(node)
  File "/usr/lib/python3.8/ast.py", line 371, in generic_visit
    self.visit(item)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 156, in visit
    super().visit(node)
  File "/usr/lib/python3.8/ast.py", line 363, in visit
    return visitor(node)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 269, in visit_For
    self.generic_visit(node)
 File "/usr/lib/python3.8/ast.py", line 371, in generic_visit
    self.visit(item)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 156, in visit
    super().visit(node)
  File "/usr/lib/python3.8/ast.py", line 363, in visit
    return visitor(node)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 292, in visit_Try
    self.generic_visit(node)
  File "/usr/lib/python3.8/ast.py", line 371, in generic_visit
    self.visit(item)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 156, in visit
    super().visit(node)
  File "/usr/lib/python3.8/ast.py", line 363, in visit
    return visitor(node)
  File "/root/.cache/pre-commit/repo66mtzu3l/py_env-python3.8/lib/python3.8/site-packages/bugbear.py", line 185, in visit_ExceptHandler
    if issubclass(
TypeError: issubclass() arg 2 must be a class or tuple of classes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions