python - PyCharm 报告未使用的局部变量,但此变量已在局部命名空间中使用

标签 python python-3.x pycharm

我一定是遗漏了什么,因为 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.

PyCharm 报告的通知图片。

enter image description here

根据 lmiguelvargasf 的建议,我确实尝试使用不同的值,但它并没有消除错误。

enter image description here

最佳答案

您收到错误是因为在 else 分支中,您引发了异常,并且永远不会使用该变量,因为在引发异常时流程执行终止。

关于python - PyCharm 报告未使用的局部变量,但此变量已在局部命名空间中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58100987/

相关文章:

machine-learning - 有没有办法不用每次都重新训练我的神经网络?

python - 将 __del__ 与适当的属性方法一起使用

python - TypeError at/accounts/register/__init__() 得到意外的关键字参数 'instance'

python - Pycharm 3 调试器不适用于 Django

python - Plotly:如何设置线条颜色?

Django - get_current_site(request) 只是抓取 example.com

python - 如何使用 pycharm 调试 python Fabric

python - 如何在pytest中引发异常?

python - 如何获取页面的所有链接?

python - 将数据帧列转换为列表列表,然后转换回数据帧,同时保持 ID 关联