python后端:try except 异常处理

需求背景,可以简化为向用户设置的url发送带参数的post请求;
先贴两个版本的代码,

#if else
```python
def request_hook_url(task_param, hook_url):
    if hook_url:
        r = requests.post(hook_url, json=task_param)
        request_code = r.status_code
        if request_code == 200:
            logger.info(f'request_hookRUL success status code:{request_code}')
        else:
            logger.error(f'request_hookURL process failed,status code:{request_code}')
    else:
        logger.error(f'request_hookRUL failed: {e}')
![设置url为不合法的url地址,函数执行到这个函数会终止运行,这个函数后面的逻辑没有执行,这叫异常导致函数非法终止。有很长的报错信息](https://img-blog.csdnimg.cn/img_convert/ab76fafbecf235fe0eefc301f129682c.png)
try except代替if else
```python
def request_hook_url(task_param, hook_url):
    try:
        r = requests.post(hook_url, json=task_param)
        request_code = r.status_code
        if request_code == 200:
            logger.info(f'request_hookRUL success status code:{request_code}')
        else:
            logger.error(f'request_hookURL process failed,status code:{request_code}')
    except Exception as e:
        logger.error(f'request_hookRUL failed: {e}')

url为空,基本同if-else
url非法,相比if-else函数可以顺序执行完配套逻辑,异常捕获到正确处理完成

  • 所以总的来说,try except我可以把他理解为用着更放心的if-else(或者是高级版),他不仅可以帮你解决一些自己为预料到的错误方式且帮你处理遇到的异常,以使你程序正确推进;而且还可以告诉你异常的类型,这样更方便后期debug和定位错误。
  • 怎么用呢?夹住可能会出现异常的代码块上下。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值