为什么我不能处理异常?

2024-04-28 22:23:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用

import os
proxy = '123.456.11.22:80'

os.environ['http_proxy'] = proxy 
os.environ['HTTP_PROXY'] = proxy
os.environ['https_proxy'] = proxy
os.environ['HTTPS_PROXY'] = proxy

有时我的代理会掉下来(抛出ProxyError),在这种情况下,我需要更改变量“ProxyError”。我使用这个代码:

try:
    proxyError = 0
    connectFunction()
except ProxyError:
    logPrint("Connection lost. Reconnecting...")
    proxyError = 1

我不能处理ProxyError,因为python说什么“ProxyError”是未知的。我试试这个:

 try:
        proxyError = 0
        connectFunction()
    except os.ProxyError:
        logPrint("Connection lost. Reconnecting...")
        proxyError = 1

这不太管用。我需要抓住的?你知道吗


Tags: importhttposenvironconnectionproxytrylost
1条回答
网友
1楼 · 发布于 2024-04-28 22:23:50

ProxyError只是python中的一个类,名称空间规则也适用于它,因此您需要导入ProxyError或在它所在的位置使用它。你知道吗

requests库中requests库的异常在requests.exceptions创建

因此,如果您希望按以下方式处理异常:

try:
    proxyError = 0
    connectFunction()
except ProxyError:
    logPrint("Connection lost. Reconnecting...")
    proxyError = 1

您需要导入异常类,如下所示:

from requests.exceptions import ProxyError

否则您可以按以下方式处理:

try:
    proxyError = 0
    connectFunction()
except requests.exceptions.ProxyError:
    logPrint("Connection lost. Reconnecting...")
    proxyError = 1

相关问题 更多 >