其他分享
首页 > 其他分享> > 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后指定

 

标签:exception,抛出,捕获,Sanic,异常,处理函数
来源: https://www.cnblogs.com/zhongyehai/p/15115265.html