Python中的“二手”异常处理

2024-04-27 04:31:32 发布

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

有没有一种方法可以从导入的模块获取异常处理输出并从调用程序处理它?例如,我有一个导入的模块,它编写了一个HTTP异常

except urllib2.HTTPError, e:
   sys.stderr.write(str(e) + '\n')

如果出现404,则调用程序只会看到以下内容:

HTTP Error 404: not found

是否可以在不修改导入模块的情况下将其作为输入?我需要根据返回的HTTP错误执行不同的任务。你知道吗


Tags: 模块方法程序httpstderrsysnoterror
1条回答
网友
1楼 · 发布于 2024-04-27 04:31:32

如果可以修改导入的模块,请在except块中按如下方式引发错误:

except urllib2.HTTPError, e:
    sys.stderr.write(str(e) + '\n')
    raise e

然后在调用程序中,捕获错误并检查错误代码:

except urllib2.HTTPError, e:
    if e.code == 404:
        do_something_here()

相关问题 更多 >