Python 自定义异常处理Error函数
#!/usr/bin/env python
# -*- coding:utf-8 -*- CODEMSG = {
2000: u"True",
4000: u"客户上传的文件格式不正确",
4010: u"客户上传的文件格式是要求格式以外的文件",
4001: u"客户上传的文件列超过1024",
4002: u"客户端未传值或值传递错误!",
4003: u"文件数据格式不对",
4004: u"已经存在",
4005: u"用户未认证或认证不成功",
4006: u"无法进行数据分析",
4007: u"用户分析条件不正确",
4008: u"用户无权限",
4999: u"Unknown Error!!!",
5000: u"服务器错误",
5001: u"数据表已经存在",
5002: u"sql语句错误",
5003: u"索引文件未创建"
} class MyCustomError(Exception):
"""
Error class for the IBM SPSS Statistics Input Output Module
Use Method: def example():
try:
raise ValueError # ['']
raise SPSSError(retcode="6001") or raise SPSSError(retcode=6001) or raise SPSSError
except Exception as e:
e = FormatErrorCode(e)
print(e) # ['4999', 'Unknown Error!!!'] example() #>>> (5001, '数据表已经存在') """ def __init__(self, msg=None, retcode=4999):
self.retcode = int(retcode)
try:
if not msg:
msg = CODEMSG[int(self.retcode)]
except:
msg = "Unknown Error!!!"
Exception.__init__(self, self.retcode, msg) def FormatErrorCode(arg):
data = str(arg).replace("(", "").replace(")", "").replace("'", '').split(",")
if all(data):
Error_Infor = [i.strip() for i in data if i]
if len(Error_Infor) == 2:
return [i.strip() for i in data if i]
else:
try:
raise MyCustomError(msg=Error_Infor[0])
except Exception as e:
return FormatErrorCode(e)
else:
try:
raise MyCustomError()
except Exception as e:
return FormatErrorCode(e) class SPSSError(MyCustomError):
def __init__(self, retcode=None):
super(SPSSError, self).__init__(retcode=retcode) class GetParametersError(MyCustomError):
def __init__(self, retcode=4002):
super(GetParametersError, self).__init__(retcode=retcode) if __name__ == '__main__':
from common.base import MyPymysql try:
ret = MyPymysql('asdf')
res = ret.selectall_sql('')
ret.close() # raise ValueError # [''] -> ['4999', 'No section: asdf']
raise GetParametersError() or raise GetParametersError(40088) or raise GetParameterError
except Exception as e:
print("Error is :", e)
e = FormatErrorCode(e)
print(e)
Python 自定义异常处理Error函数的更多相关文章
- 17.python自定义函数
什么是函数,函数说白了就是将一系列代码封装起来,实现代码的重用. 什么是代码重用? 假设我有这样的需求: 但是我还是觉得太麻烦了,每次想吃饭的时候都要重复这样的步骤.此时,我希望有这样的机器:
- python自定义pi函数的代码
下边内容是关于python自定义pi函数的内容. def pi(): # Compute digits of Pi. # Algorithm due to LGLT Meertens. k, a, b ...
- Python基础之用PyQt5界面代码分离以及自定义一个槽函数
最近开发一个项目,需要用到界面,遇到界面不能实时更新的问题,看到网上很多用槽函数,但是大多都是些button的,并不是我需要的,要么就是整数的,后来自己进行尝试,写了一个自定义的槽函数处理treewi ...
- Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数
Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数 目录 Pycharm使用技巧(转载) Python第一天 ...
- Python入门基础之函数、切片
Python之函数 Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用. Python之调用函数 Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需 ...
- ASP.NET AJAX入门系列(8):自定义异常处理
在UpdatePanel控件异步更新时,如果有错误发生,默认情况下会弹出一个Alert对话框显示出错误信息,这对用户来说是不友好的,本文看一下如何在服务端和客户端脚本中自定义异常处理,翻译自官方文档. ...
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
WebAPI调用笔记 前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...
- Python:Base3(函数,切片,迭代,列表生成式)
1.Python之调用函数: Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数 abs,它接收一个参数. 可以直接从Python的官方 ...
- python基础知识6——函数
函数:自定义函数:函数的参数:不带参数,普通参数,默认参数,动态参数:返回值return:函数作用域:内置函数高阶函数:map,reduce,filter,sorted:lambda表达式:文件操作: ...
随机推荐
- Socket网络编程--FTP客户端(2)(Windows)
上一篇FTP客户端讲到如果制作一个简单的FTP客户端,功能实现了,但是后面我们发现了问题,就是FTP是使用明文进行操作的.对于普通情况来说就无所谓了.但有时候要安全的一点的话,就应该使用FTP的安全版 ...
- Nginx 权限问题
At my job we are moving to Nginx for the load balancing of our sites. Nginx is a very powerful load ...
- docker容器资源配额控制
转自:http://blog.csdn.net/horsefoot/article/details/51731543 文/ 天云软件 容器技术团队 Docker通过cgroup来控制容器使用的资源配额 ...
- delphi 学习笔记的例子
由于360改变了共享策略,导致之前的共享连接不能使用 重新共享了下. http://yunpan.cn/cgS2DBRT572jy (提取码:1eda)
- Context.startActivity出现AndroidRuntimeException
转:http://hi.baidu.com/huaxinchang/item/e1a771cf4d424312b77a2416 昨天做了一个Activity的启动动画,效果是点击桌面图标先出现动画后启 ...
- 安装C/C++交叉编译环境
转:http://blog.csdn.net/nokiaguy/article/details/8509739 X86架构的CPU采用的是复杂指令集(Complex Instruction Set C ...
- 6款漂亮HTML CSS样式用户留言表单
如今我们的网站.页面更加需要注重细节,不论是字体的样式.还是图片的分辨率清晰度都会影响到用户的访问体验和PV,以及用户以后是否会回访我们的网站/博客.如果有时间的时候,老左也会浏览和阅读相关的前端网站 ...
- Python3在指定路径下递归定位文件中出现的字符串
[本文出自天外归云的博客园] 脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息). 用到的python特性: 1. PEP 318 -- Decorators for Fun ...
- Win7窗口最大化和最小化快捷键
原文: https://blog.csdn.net/u012269267/article/details/52484399 Windows 键 + 方向键“↑” 使当前使用的窗口最大化. Window ...
- java中的不同的value类型从map中获取不同的value值
protected <V> V getValFromMap(Map<String, Object> headers, String name, Class<V> t ...