PyCharm报告未使用的局部变量,但是此变量在局部名称空间中使用

Mik*_*SMT 3 python pycharm python-3.x

我一定想念一些东西,因为PyCharm报告变量未使用,但实际上已在下一行使用。

知道为什么PyCharm这样报告吗?是一个错误还是我做了一些需要更改的事情?

码:

def start_mass_reassign(self):
    try:
        or_dns = cx_Oracle.makedsn('REDACTED', REDACTED, service_name='REDACTED')
        con = cx_Oracle.connect(user=self.username.get(), password=self.password.get(), dsn=or_dns)
        valid_login = True
    except cx_Oracle.DatabaseError as e:
        if 'invalid username/password' in str(e).lower():
            print('Invalid login')
            valid_login = False
        else:
            valid_login = False
            raise

    if valid_login:
        # rest of code verified works fine.
Run Code Online (Sandbox Code Playgroud)

PyCharm报告的通知图像。

在此处输入图片说明

正如lmiguelvargasf我建议的那样,我尝试使用不同的值,但是并没有消除错误。

在此处输入图片说明

lmi*_*asf 5

之所以收到错误,是因为在else分支中,您正在引发一个异常,并且该变量将永远不会被使用,因为在引发异常时流执行会终止。