#!/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"索引文件未创建"}classMyCustomError(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 notmsg:
msg=CODEMSG[int(self.retcode)]except:
msg= "Unknown Error!!!"Exception.__init__(self, self.retcode, msg)defFormatErrorCode(arg):
data= str(arg).replace("(", "").replace(")", "").replace("'", '').split(",")ifall(data):
Error_Infor= [i.strip() for i in data ifi]if len(Error_Infor) == 2:return [i.strip() for i in data ifi]else:try:raise MyCustomError(msg=Error_Infor[0])exceptException as e:returnFormatErrorCode(e)else:try:raiseMyCustomError()exceptException as e:returnFormatErrorCode(e)classSPSSError(MyCustomError):def __init__(self, retcode=None):
super(SPSSError, self).__init__(retcode=retcode)classGetParametersError(MyCustomError):def __init__(self, retcode=4002):
super(GetParametersError, self).__init__(retcode=retcode)if __name__ == '__main__':from common.base importMyPymysqltry:
ret= MyPymysql('asdf')
res= ret.selectall_sql('')
ret.close()#raise ValueError # [''] -> ['4999', 'No section: asdf']
raiseGetParametersError() or raise GetParametersError(40088) or raise GetParameterErrorexceptException as e:print("Error is :", e)
e=FormatErrorCode(e)print(e)