项目开发管理最佳实践之一 --定义异常类exceptions
项目开发中,经常遇到需要抛出异常情况,可以根据项目存在情况定一个异常类,项目以django ,rest_framework为例
1 rom django.db.models.deletion import ProtectedError
2 from rest_framework.exceptions import APIException
3 from django.db.utils import IntegrityError
4 from rest_framework import status
5 '''
6 定义抛出异常
7 '''
8 class AuthenticationFailed(APIException):
9 status_code = status.HTTP_400_BAD_REQUEST
10 default_detail = '身份验证失败'
11 default_code = 'authentication_failed'
12 class NotAuthenticated(APIException):
13 status_code = status.HTTP_401_UNAUTHORIZED
14 default_detail = '未通过身份验证'
15 default_code = 'not_authenticated'
16
17 class ValidationError(APIException):
18 status_code = status.HTTP_400_BAD_REQUEST
19 default_detail = '无效请求'
20 default_code = 'invalid'
21
22 class ParseError(APIException):
23 status_code = status.HTTP_400_BAD_REQUEST
24 default_detail = '格式错误'
25 default_code = 'parse_error'
26
27 class PermissionDenied(APIException):
28 status_code = status.HTTP_403_FORBIDDEN
29 default_detail = '无权限执行操作.'
30 default_code = 'permission_denied'
31
32 class NotFound(APIException):
33 status_code = status.HTTP_404_NOT_FOUND
34 default_detail = '数据不存在'
35 default_code = 'not_found'
36
37 class ServerError(APIException):
38 status_code = status.HTTP_500_INTERNAL_SERVER_ERROR
39 default_detail = '服务器错误'
40 default_code = 'server_error'
41
42 __all__ = [
43 'ProtectedError', 'IntegrityError', 'AuthenticationFailed', 'NotAuthenticated','ValidationError', 'ParseError',
44 'PermissionDenied', 'NotFound', 'ServerError']
项目开发管理最佳实践之一 --定义异常类exceptions的更多相关文章
- Struts2、Spring、Hibernate 高效开发的最佳实践(转载)
Struts2.Spring.Hibernate 高效开发的最佳实践 Struts2.Spring.Hibernate(SSH)是最常用的 Java EE Web 组件层的开发技术搭配,网络中和许多 ...
- [转载]理解 Git 分支管理最佳实践
原文 理解 Git 分支管理最佳实践 Git 分支有哪些 在进行分支管理讲解之前,我们先来对分支进行一个简单的分类,并明确每一类分支的用途. 分支分类 根据生命周期区分 主分支:master,deve ...
- 如何使用Worktile进行敏捷项目开发管理
Worktile在任务管理上采用了看板视图,非常适合进行敏捷项目开发管理.事实上,在开发Worktile的过程中,我们也是自产自销,使用Worktile管理Worktile本身的开发过程,在本文中跟大 ...
- Android 6.0 权限管理最佳实践
博客: Android 6.0 运行时权限管理最佳实践 github: https://github.com/yanzhenjie/AndPermission
- paip.快捷方式分组管理最佳实践ObjectDock
paip.快捷方式分组管理最佳实践ObjectDock /////挑选:除了od,还有个Berokyo ,但是bk无crash..只能使用1月.. Jumplist_Launcher_v7.2_rep ...
- Atitit。团队建设--管理最佳实践--如何留住关键人才,防止人才外流 ??
Atitit.团队建设--管理最佳实践--怎样留住核心人才,防止人才流失 ?? 1. 1.人才流失后果 1 1. 1.员工的离职带走商业技术秘密和客户等资源 1 2. 2.影响在职员工的情绪.极大挫伤 ...
- Atitit。团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ??
Atitit.团队建设--管理最佳实践--如何留住核心人才,防止人才流失 ?? 1. 1.人才流失后果 1 1. 1.员工的离职带走商业技术秘密和客户等资源 1 2. 2.影响在职员工的情绪,极大挫伤 ...
- C#高级编程八十二天----用户自己定义异常类
用户自己定义异常类 前面已经说了不少关于异常的问题了,如今来给大家说一下自己定义异常时咋个回事以及咋样. 为啥会出现自己定义异常类呢? 用用脚趾头想想也明确,是为了定义咱们自己的异常,自己定义异常 ...
- Java 日志管理最佳实践
转:http://blog.jobbole.com/51155/ 日志记录是应用程序运行中必不可少的一部分.具有良好格式和完备信息的日志记录可以在程序出现问题时帮助开发人员迅速地定位错误的根源.对于开 ...
- git学习------>Git 分支管理最佳实践
ps:本文转载于 : https://www.ibm.com/developerworks/cn/java/j-lo-git-mange/index.html Git 是目前最流行的源代码管理工具.大 ...
随机推荐
- [BZOJ3600] 没有人的算术 题解
妙不可言!妙绝人寰! 单点修,区间查,包是线段树的.考虑如何比较两节点大小. 考虑二叉搜索树,我们只要再给每个节点附一个权值,就可以比较了! 注意力相当惊人的注意到,假如给每个点一个区间 \([l_x ...
- 让Typecho支持Emoji表情,解决报错:Database Query Error
最近在使用一个主题时,看到搭配emoji表情可以让改主题更加美观,于是我就上了,结果在将emoji表情放进去保存的时候报错:Database Query Error,于是问起了度娘.最后的结果是: 在 ...
- docker - [16] Swarm集群搭建
以下是购买的阿里云服务器ECS的四个实例,确保四台服务器互相可以ping通. 一.环境准备(安装docker) (1)安装gcc相关环境(在四台服务器上) yum -y install gcc yum ...
- 介绍一下opentcs
OpenTCS是一个开源的自动运载系统(Automated Guided Vehicle,AGV)控制系统.它旨在管理和控制自动化运输车辆,例如AGV或自动搬运车(AMR),在工业和商业环境中执行各种 ...
- 使用Node.js对接StockTV全球金融市场数据API
使用Node.js对接StockTV全球金融市场数据API 摘要:本文详细介绍了如何通过Node.js客户端库快速接入StockTV全球金融市场数据API,涵盖股票.外汇.期货和加密货币的实时行情获取 ...
- 【markdown】各种markdown的骚操作
目录 1.给图片居中.加题注 2. 文字添加下划线 3. 文字高亮.自定义高亮的颜色 4. 博客文章生成目录 5. markdown 实现页内跳转 6. 数学公式调大尺寸.右编号 7. 折叠内容 8. ...
- rust学习笔记(3)
变量 变量默认是不可变的 不能使用没有初始化的变量 作用域 变量离开作用域之后会直接释放, 无法再次使用; 在内部代码块中定义的变量会导致外部的变量被遮蔽 类型转换 部分类型可以隐式转换, 部分类型需 ...
- JdbcTemplate 自定义返回的结果集字段和实体类映射
废话不多:抄袭代码 package com.webank.wedatasphere.qualitis.handler; import com.webank.wedatasphere.qualitis. ...
- HTML5 给网站添加图标
1.首先将图标上传到对应的目录下 2.在网页的index.html,添加已下代码到<head>标签里 <link rel="icon" href="i_ ...
- 【Linux】5.8 Shell流程控制
Shell 流程控制 1. 判断语句 1.1 if判断 if else-if else 语法格式: if condition1 then command1 elif condition2 then c ...