python - requests.get - 引发异常以防止做错事

时间:2017-07-20 20:54:24

标签: python-3.x exception python-requests

我对请求和例外都不熟悉,所以请原谅我的无知。阅读文档只能让我到目前为止,所以感谢您的帮助!

我的想法是,如果我有一些调用请求的函数,以及一些使用它的输出等的函数,我只需要把

try:
    do something
except:
    do something else

部分在最顶层的功能?如果我在所有函数中使用该格式,它是否仍会引发链上的异常,或者try / except格式是否“使用”异常?假设我发出请求时会引发异常,并且在该函数中我有一个try / except布局,try / except布局是否也会调用其他函数?

如果没有接收数据,我基本上不希望我的代码继续。所以我写了一个基本的get函数。这种方法合理吗?

def requestGet(url,params=None):
    r = requests.get(url,params=params)
    if r.status_code != 200:
        raise Exception('Request did not perform as expected, status code %s'%r.status_code)
    return r

1 个答案:

答案 0 :(得分:0)

如果代码的try部分发生错误,则将执行except部分,除非您特别提出异常,否则不会引发异常。如果except部分发生异常,那么该异常将进一步提升。

如果您希望它将链接上的异常传递给您,可以执行以下操作:

try:
     something
except Exception as e:
     something else
     raise e