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

异常处理三原则_异常状态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)
上一篇 2022年8月6日 上午10:36
下一篇 2022年8月6日 上午10:36


相关推荐

  • jquery定时执行函数_jquery自动提交

    jquery定时执行函数_jquery自动提交setTimeout用于延时器,只执行一次.setInterval:用于多次执行.functiongetnums(){$.get(“http://special.ku6.com/office2010/api/nums.php?”+Math.random(),function(data){nums=”;$.each(data,f

    2025年11月2日
    4
  • ES数据库操作入门总结「建议收藏」

    ES数据库操作入门总结「建议收藏」elasticsearch总的来说应该算是一个搜索引擎,公司使用一般是作为日志结果查询。json文档格式,倒排索引的快速以及分布式的特性,使得es可以在大量数据中快速查询到结果。windows安装和配置可参考官方网址。https://www.elastic.co/guide/en/elasticsearch/reference/current/zip-windows.html倒排查询可参考这个知乎回答https://zhuanlan.zhihu.com/p/62892586可以使用浏览器的U

    2022年5月13日
    74
  • 使用 PyCharm 远程调试 Django 程序「建议收藏」

    使用 PyCharm 远程调试 Django 程序「建议收藏」这阵子组内流行使用Django写管理端程序。大家习惯了在Windows上使用PyCharm等IDE快速方便地进行开发,但是由于管理端使用了一些公司的公共组件,而这些组件又只提供了Linux上的Python接口,因此必须在Linux上运行Django程序。值得庆幸的是,大多数的IDE都提供了远程调试功能,PyCharm也可以经过简单配置进行远程调试。场

    2022年8月28日
    5
  • javaweb-爬虫-3-64

    javaweb-爬虫-3-64

    2021年5月18日
    148
  • 虚拟机VMware安装苹果系统macOS,超级详细教程,附文件下载,真教程!!

    虚拟机VMware安装苹果系统macOS,超级详细教程,附文件下载,真教程!!1.准备工作1、虚拟机VMware®Workstation15Pro,小编使用的版本是15pro2、Unlocker或MK-Unlocker3、一个MacOS镜像2.资源下载…

    2026年4月13日
    5
  • linux中whereis命令的用法,Linux中的Whereis命令,教你如何使用whereis命令及注意事项…

    linux中whereis命令的用法,Linux中的Whereis命令,教你如何使用whereis命令及注意事项…本文教你使用 Linux 操作系统中的 Whereis 命令 包括注意事项 whereis 是一个命令行实用程序 允许你查找给定命令的二进制文件 源文件和手动页面文件的位置 如何使用 whereis 命令及注意事项 whereis 命令的语法如下 whereis OPTIONS FILE NAME 在没有任何选项的情况下使用时 搜索指定为参数的命令的二进制文件 源文件和手动文件 默认情况下 whereis 在

    2025年7月29日
    9

发表回复

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

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