1

我正在阅读 Python 套接字编程教程,我在程序中发现了这个 except 块:

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

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

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

4

2 回答 2

2

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

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

编写该声明的现代方式是

except socket.error as msg
于 2014-09-19T21:01:30.490 回答
1

msg 是错误的解释

与套接字相关的错误会引发此异常。伴随的值要么是一个告诉错误发生了什么的字符串,要么是表示系统调用返回的错误的一对 (errno, string),类似于伴随os.error的值。请参阅模块errno,其中包含由底层操作系统定义的错误代码的名称。

于 2014-09-19T20:52:40.650 回答