Sanic十二:Sanic抛出异常、捕获异常、处理

时间:2021-08-08
本文章向大家介绍Sanic十二:Sanic抛出异常、捕获异常、处理,主要包括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

原文地址:https://www.cnblogs.com/zhongyehai/p/15115265.html