异常处理三原则_异常状态

异常处理三原则_异常状态DRF框架的默认异常处理设置如下:默认使用模块下的函数进行异常处理自定义异常处理可以自定义异常处理函数,在DRF框架默认异常处理函数的基础上,添加一些其他的异常处理,比如数据库处理1)自定

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

DRF框架的默认异常处理设置如下:

REST_FRAMEWORK = {
    'EXCEPTION_HANDLER': 'rest_framework.views.exception_handler'
}

默认使用rest_framework.views模块下的exception_handler函数进行异常处理

异常处理三原则_异常状态

自定义异常处理

可以自定义异常处理函数,在DRF框架默认异常处理函数的基础上,添加一些其他的异常处理,比如数据库处理
1)自定义异常处理函数

from rest_framework.views import exception_handler as drf_exception_handler
from rest_framework import status
from django.db import DatabaseError

def exception_handler(exc, context):
    # 先调用DRF框架的默认异常处理函数
    response = drf_exception_handler(exc, context)

    if response is None:
        # 补充数据库的异常处理
        if isinstance(exc, DatabaseError):
            response = Response({'detail': '数据库错误'}, status=status.HTTP_507_INSUFFICIENT_STORAGE)

    return response

2)在settings.py配置文件中修改DRF框架的异常处理函数

REST_FRAMEWORK = {
    'EXCEPTION_HANDLER': 'booktest.utils.exceptions.exception_handler'
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166553.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 我为什么放弃Go语言[通俗易懂]

    我为什么放弃Go语言[通俗易懂]我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客观的论据。

    2022年6月30日
    28
  • 儿童节快乐,2018过的真快

    我们也曾是儿童,也过过儿童节!儿童节,现在回想起来怎么都没有任何印象!儿童节让我想到了自己的小时候,自己的小学,三年级前上学的地方还离家很近,之后到了另一个地方上学,每天早上要很早起床,尤其是冬天的时候天还没有亮(北方的那个冬天的早上,真是冷啊,记得最冷的时候早上去上学的路上,冷的不行了,先打一堆火,烤一会再走),小时候早上上学的时候,妈妈就很早起床给我做早饭了,我吃过早饭然后去上…

    2022年2月27日
    45
  • 数据库的表空间_默认表空间

    数据库的表空间_默认表空间表空间的概述数据库的表空间,简而言之就是数据库存储数据的存储结构,是一种用来存储数据的逻辑空间,是数据库用来存储数据的最大逻辑单元,其下还有段、区、数据块等逻辑数据类型。表空间的存在就是为了用来存储数据库的数据对象,一个数据库可以由多个数据表空间组成,可以通过表空间来实现对数据库的调参。表空间的分类永久性表空间:在存储过程中需要永久化存储的对象,比如二维表,视图,存储过程,索引。临时表空间:临时表…

    2025年5月26日
    0
  • 微模块机房效果图制作|场景创建过程详细步骤[通俗易懂]

    微模块机房效果图制作|场景创建过程详细步骤[通俗易懂]三组机房效果图制作案例皆为原创,场景创建过程其实并不复杂。

    2022年6月2日
    43
  • 通过jstack定位在线执行java系统故障_案例1

    通过jstack定位在线执行java系统故障_案例1

    2021年12月4日
    81
  • latex中插入图片[通俗易懂]

    latex中插入图片[通俗易懂]latex排版之插入图片:(1)插入单个图片,图片格式为png\begin{figure}[h]\centering\includegraphics[weight=4cm,height=5cm]{3}\caption{这是一张图片,名字是3.png.}\end{figure}上面代码,第一行中[h]代表图片就在当前位置,有的时候latex排版的时候图片太大,而剩余的空间太小,la

    2022年6月9日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号