为了账号安全,请及时绑定邮箱和手机立即绑定

Python-异常使“连接异常终止”-如何跳过它并继续

Python-异常使“连接异常终止”-如何跳过它并继续

撒科打诨 2021-03-31 15:18:20
所以基本上我正在使用有时在其中输入URL并给我一个错误的错误请求:('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))当我再次执行新请求或现在正在睡眠时,这很好: except Exception as e:        logger.error(e)        randomtime = random.randint(1,5)        logger.warn('ERROR - Retrying again website %s, retrying in %d secs' % (url, randomtime))        time.sleep(randomtime)        continue我想做的是,每当此错误再次出现为ERROR时,我只是想基本地“跳过”它,这意味着它不应该给我打印出来,但是如果出现另一个不是该错误的错误,('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))那么它应该打印错误。我需要做些什么来使其打印其他错误,而只是继续以中止连接而不打印它呢?
查看完整描述

3 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

您可以使用以下命令捕获RemoteDisconnected异常:


try:

    #your code here

except requests.exceptions.ConnectionError as e:

    pass

except Exception as e:

    logger.error(e)

    randomtime = random.randint(1,5)

    logger.warn('ERROR - Retrying again website %s, retrying in %d secs' % (url, randomtime))

    time.sleep(randomtime)

    continue

尽管要小心地悄悄捕获异常,但稍后可能会通过停止确定问题的真正原因而导致问题。


查看完整回答
反对 回复 2021-04-20
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

您可以尝试以下方法:


if str(e) != 'Connection aborted.' :

    logger.error(e)

但是,由于许多不同的原因,连接可能会中止,您可能需要在if语句,检查e.reason或其他可用字段中添加其他检查。


查看完整回答
反对 回复 2021-04-20
?
HUWWW

TA贡献1874条经验 获得超12个赞

您应该将RemoteDisconected与其他例外分开:


from http.client import RemoteDisconnected    

try:

   ...

except RemoteDisconnected:

    continue

except Exception as e:

    logger.error(e)

    randomtime = random.randint(1,5)

    logger.warn('ERROR - Retrying again website %s, retrying in %d secs' % (url, randomtime))

    time.sleep(randomtime)

    continue


查看完整回答
反对 回复 2021-04-20
  • 3 回答
  • 0 关注
  • 752 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信