【问题标题】:What is the purpose of "msg" in this try-except block?在这个 try-except 块中“msg”的目的是什么?
【发布时间】:2014-09-19 20:44:50
【问题描述】:

我在看Python socket编程教程,在程序中发现了这个except块:

except socket.error, msg:
    print 'Failed to create socket. Error code: ' + str(msg[0]) + ' , Error message : ' + msg[1]
    sys.exit();

究竟什么是“msg”引用(我知道它引用了错误消息);但它是什么?它是从哪里拉出来的?

对不起,如果这个问题措辞不当。我不确定我到底应该问什么。

【问题讨论】:

    标签: python sockets except try-except


    【解决方案1】:

    msg是被捕获的实际异常对象。例如:

    try:
        x = Exception()
        raise x
    except Exception, msg:
        assert x is msg
    

    写该语句的现代方式是

    except socket.error as msg
    

    【讨论】:

      【解决方案2】:

      msg是错误的解释

      socket-related errors 引发了此异常。附带的值要么是一个说明出了什么问题的字符串,要么是表示系统调用返回的错误的一对 (errno, string),类似于 os.error 附带的值。请参阅模块errno,其中包含底层操作系统定义的错误代码的名称。

      【讨论】:

        猜你喜欢
        • 2021-07-14
        • 2022-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-02
        • 2018-05-27
        • 1970-01-01
        相关资源
        最近更新 更多