Skip to content

Unused variable in except clauses differs between py2 and py3  #301

Description

@moodh

The following code gives a warning in py2 but not py3.
But only if the try clause is inside a function, otherwise it passes on both.

test.py:5:25: F841 local variable 'e' is assigned to but never used

def test():
    try:
        raise Exception('foo')
    except Exception as e:
        pass

Is this a bug or a new feature? Could not find anything related to this "regression" but currently py3 does not catch issues py2 would have caught. This is a problem when writing compatible code at the very least.

Could be related to this PR: #59 (found here https://github.com/PyCQA/pyflakes/blob/master/pyflakes/checker.py#L1325)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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