如何以正确的方式捕获连接拒绝错误?

时间:2019-03-29 09:22:20

标签: python

在我的代码中,我提出了一些职位要求。如何在该呼叫中捕获连接拒绝错误?

   try:
        headers = {'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'}
        response = requests.request("POST", local_wallet_api + "v1/wallet/get_public_keys", headers=headers)
        res = json.loads(response.text)


   except Exception as e:
        if e.errno == errno.ECONNREFUSED:
            print("connection refused")
            sys.exit(141)

我已经尝试了上面的代码,但是由于e没有errno参数,因此无法正常工作。有什么适当的方法可以处理这种错误?

3 个答案:

答案 0 :(得分:2)

from requests.exceptions import ConnectionError


   try:
        headers = {'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'}
        response = requests.request("POST", local_wallet_api + "v1/wallet/get_public_keys", headers=headers)
        res = json.loads(response.text)

   except ConnectionError:
        sys.exit(141)

答案 1 :(得分:0)

看看this

您可以通过e.args[0].reason.errno来获得错误信息。

除了以下内容外,还请使用此内容:

except requests.exceptions.ConnectionError as e:

答案 2 :(得分:0)

您可以使用your_password作为例外。

示例:

requests.exceptions.RequestException

有关请求例外的列表,请查看request.exception文档。您可以参考此link