" msg"的目的是什么?在这个try-except块?

时间:2014-09-19 20:44:50

标签: python sockets except try-except

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

编写该陈述的现代方式是

except socket.error as msg

答案 1 :(得分:1)

msg 是错误的解释

socket-related errors引发了此异常。附带的值是表示出错的字符串或表示系统调用返回的错误的对(errno,string),类似于伴随os.error的值。请参阅模块errno,其中包含基础操作系统定义的错误代码的名称。