在此代码中赋值之前引用的变量

足够的

我有以下代码:

try:
    connSock = socket(AF_INET, SOCK_STREAM)
    connSock.connect((tgtHost, tgtPort))
except:
    pass
finally:
    connSock.close()

皮查姆说:

在connSock.close()行上赋值之前可能会引用局部变量'connSock'

这怎么可能呢?

我想念什么吗?


更新:

如果您的操作系统用尽了描述符,socket()函数可能会引发异常

马丁·彼得斯(Martijn Pieters)

如果socket()第二行调用引发异常,则connSock永远不会绑定。

套接字可以用作上下文管理器,利用它可以为您带来好处:

try:
    with socket(AF_INET, SOCK_STREAM) as connSock:
        connSock.connect((tgtHost, tgtPort))
except socket.error:
    pass

with仅在socket()调用成功完成后,退出时才关闭套接字,而不必引用该套接字

请注意,您应该很少使用毯子except: pass更好地捕获特定的异常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

真实代码中如何出现“ NameError:在封闭范围内赋值之前引用的自由变量'var'”?

来自分类Dev

在修饰方法中赋值之前引用的局部变量

来自分类Dev

赋值之前引用的局部变量“ body”

来自分类Dev

赋值之前引用的局部变量“ like”

来自分类Dev

赋值之前引用的局部变量“ request”

来自分类Dev

赋值之前引用的局部变量“ statement”

来自分类Dev

代码正在创建即在赋值之前引用的局部变量“p”

来自分类Dev

“在赋值之前引用的局部变量‘变量’”错误背后的原因

来自分类Dev

UnboundLocalError:在python闭包中赋值之前引用的局部变量

来自分类Dev

在我的链表实现中赋值之前引用的局部变量“节点”出错?

来自分类Dev

赋值之前引用的局部变量“ context_dict”

来自分类Dev

赋值之前引用的局部变量“ build_data”

来自分类Dev

赋值之前引用了unboundlocalerror局部变量“ i”

来自分类Dev

赋值之前引用的局部变量“上下文”

来自分类Dev

赋值之前引用的MySQLdb错误本地变量(与平时不同)

来自分类Dev

DJANGO-赋值之前引用的局部变量“ form”

来自分类Dev

赋值之前引用了局部变量“ n”。关闭

来自分类Dev

赋值之前引用了UnboundLocalError局部变量'context'

来自分类Dev

赋值之前引用的局部变量“ comment_form”

来自分类Dev

(CLOSED)局部变量'exit'在赋值之前被引用?

来自分类Dev

UnBoundLocalError:赋值之前引用的局部变量(Python)

来自分类Dev

赋值之前引用的局部变量context_dict

来自分类Dev

赋值之前引用的局部变量“上下文”

来自分类Dev

UnboundLocalError:赋值之前引用了局部变量“ cars”

来自分类Dev

'UnboundLocalError:赋值之前引用了局部变量'lower'

来自分类Dev

赋值之前引用的局部变量 django 错误

来自分类Dev

Python - UnboundLocalError:在循环中赋值之前引用的局部变量

来自分类Dev

python中的变量赋值和引用

来自分类Dev

我在代码中的赋值错误之前已引用了此函数,即使实现了“全局”,也无法使其正常工作

Related 相关文章

  1. 1

    真实代码中如何出现“ NameError:在封闭范围内赋值之前引用的自由变量'var'”?

  2. 2

    在修饰方法中赋值之前引用的局部变量

  3. 3

    赋值之前引用的局部变量“ body”

  4. 4

    赋值之前引用的局部变量“ like”

  5. 5

    赋值之前引用的局部变量“ request”

  6. 6

    赋值之前引用的局部变量“ statement”

  7. 7

    代码正在创建即在赋值之前引用的局部变量“p”

  8. 8

    “在赋值之前引用的局部变量‘变量’”错误背后的原因

  9. 9

    UnboundLocalError:在python闭包中赋值之前引用的局部变量

  10. 10

    在我的链表实现中赋值之前引用的局部变量“节点”出错?

  11. 11

    赋值之前引用的局部变量“ context_dict”

  12. 12

    赋值之前引用的局部变量“ build_data”

  13. 13

    赋值之前引用了unboundlocalerror局部变量“ i”

  14. 14

    赋值之前引用的局部变量“上下文”

  15. 15

    赋值之前引用的MySQLdb错误本地变量(与平时不同)

  16. 16

    DJANGO-赋值之前引用的局部变量“ form”

  17. 17

    赋值之前引用了局部变量“ n”。关闭

  18. 18

    赋值之前引用了UnboundLocalError局部变量'context'

  19. 19

    赋值之前引用的局部变量“ comment_form”

  20. 20

    (CLOSED)局部变量'exit'在赋值之前被引用?

  21. 21

    UnBoundLocalError:赋值之前引用的局部变量(Python)

  22. 22

    赋值之前引用的局部变量context_dict

  23. 23

    赋值之前引用的局部变量“上下文”

  24. 24

    UnboundLocalError:赋值之前引用了局部变量“ cars”

  25. 25

    'UnboundLocalError:赋值之前引用了局部变量'lower'

  26. 26

    赋值之前引用的局部变量 django 错误

  27. 27

    Python - UnboundLocalError:在循环中赋值之前引用的局部变量

  28. 28

    python中的变量赋值和引用

  29. 29

    我在代码中的赋值错误之前已引用了此函数,即使实现了“全局”,也无法使其正常工作

热门标签

归档