expection.py
from rest_framework.response import Response
from rest_framework.views import exception_handler
def common_exception_handler(exc,context):
# 只要走到这里,一定出异常了,我们正常的项目要记录日志(后面讲)
# 两种可能:一个是Response对象,一个是None
res=exception_handler(exc, context)
if res:
# 说明是drf的异常,它处理了
if isinstance(res.data,dict):detail=res.data.get('detail')
else:detail=res.data
return Response({'code':998,'自己写的异常,msg':detail})
# 说明是其它异常,它没有处理
return ({'code':998,'自己写的异常,msg':str(exc)})
# return ({'code':998,'自己写的异常,msg':'系统异常'})
需要在配置文件中配置
网友评论