zoukankan      html  css  js  c++  java
  • Sanic十二:Sanic抛出异常、捕获异常、处理

    异常可以从请求处理程序中抛出,并由Sanic自动处理。异常将消息作为其第一个参数,也可以将状态代码返回到HTTP响应中。

    Sanic提供了exceptions,里面已经内置了许多常见异常

    Sanic源码可见,先是基于Exception封装了一个SanicException,然后再基于SanicException封装了许多常见的异常,同时还提供了abort函数,用于抛出自定义异常

    一、抛出异常

    二、捕获异常并处理异常

    方式1:使用装饰器,@app.exception(指定异常)来修饰处理函数,处理函数必须接受两个参数,第一个是request,第二个是exception

    方式2:使用app.error_handler.add(异常类型, 异常处理函数)来添加异常处理,处理函数必须接受两个参数,第一个是request,第二个是exception

    捕获所有异常:当不知道会抛出什么异常,或者相统一处理异常,则直接捕获Exception即可

    三、自定义异常类

    Sanic提供了很多异常类,但是可能并不能满足实际业务需求,在某些情况下,您可能希望向默认情况下提供的内容添加更多的错误处理功能。在这种情况下,您可以将sanic的默认错误处理程序子类化

    使用:

    方法一:实例化Sanic时指定

    方法二:实例化Sanic后指定

    讨论群:249728408
  • 相关阅读:
    十个经典排序算法
    筛选法求2000以内的10个以上连续非素数组
    算法学习路线
    git 文件重命名
    一个github账户多台电脑代码提交
    SQL起别名
    多个Python环境的构建:基于virtualenv 包
    git学习:忽略部分文件
    git学习:多人协作,标签管理
    git学习4:分支管理
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/15115265.html
Copyright © 2011-2022 走看看