这一块的内容很少, 异常使用try except即可, 日志只需要几行配置.
使用装饰器捕获方法内的所有异常
我使用装饰器来整个包裹一个方法, 捕获方法中的所有异常信息.并将其转为json返回客户端.
import functools
def catch_exception(func, code=500, *args, **kwargs):
'''
:param func:
:return:
'''
@functools.wraps(func, *args, **kwargs)
def nefen(request, *args, **kwargs):
try:
back = func(request, *args, **kwargs)
return back
except Exception as e:
# string = "捕获到异常"
# x = type(e)
#
# if x == ValueError:
# string = "数值转换异常:" + str(e)
return JsonError(error_string=str(e), code=code)
return nefen
JsonError是之前编写的json工具.
装饰器的使用方法如下.
class ReturnJson(APIView):
coreapi_fields=(
DocParam("token"),
)
@catch_