如何从requests.exceptions.ConnectionError中获取异常的错误号和消息

时间:2016-10-19 21:41:36

标签: python exception

当我这样做时:

except requests.exceptions.ConnectionError as err:
    print 'CE: ' + str( err )
    print 'T: ' + str( type( err ))
    print err.message

打印:

CE: ('Connection aborted.', error(54, 'Connection reset by peer'))
T: (class 'requests.exceptions.ConnectionError')
('Connection aborted.', error(54, 'Connection reset by peer'))

我希望将错误和消息作为单独的项目。

errCode = err[1][0]
errMsg = err[1][1]

我认为这最初是一个元组但它接​​缝成为一个班级。我找不到该类记录的可能具有的成员函数。有没有办法获得这两个组件?

1 个答案:

答案 0 :(得分:0)

好的......经过多方努力。没有太多使用Python。我找到了这个答案。不确定这是不是最好的答案,但我在这里。我发现ConnectionError没有填写err.errno字段,而err.message有一个如下所示的字符串:

('Connection aborted.', error(54, 'Connection reset by peer'))

不幸的是,该字符串行为不正确。以下代码有效。

except requests.exceptions.ConnectionError as err:
    converted = tuple(err.args[0])[1]
    errNum = convert[0]
    errStr = convert[1]

现在我有异常的错误号和消息。如果你们能想出更好的方法,请告诉我。谢谢!