自定义错误类型和处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义错误类型和处理相关的知识,希望对你有一定的参考价值。
#导入系统模式
import sys
#定义获取信息的函数()文件名,所在函数名,当前行数
def get_head_info():
try:
raise Exception
except:
f = sys.exc_info()[2].tb_frame.f_back
return (f.f_code.co_filename,f.f_code.co_name,str(f.f_lineno))
#不能为负数的异常类型
class FuShuError(RuntimeError):#自定义异常类需要继承运行时异常类 可以直接或者间接继承 Exception类即可
#添加初始化魔术方法
def __init__(self,errormsg = ‘‘,errorno=‘‘,errorline=‘‘,errorfile=‘‘):
#将错误信息存入对象
self.msg =errormsg#错误信息
self.no =errorno #错误编号
self.line = errorline#错误行数
self.file = errorfilr#错误文件
try:
#设置年龄
age = -11
#检测年龄是否合格
if age < 0
raise FuShuError(‘值为负数!‘,220,get_head_info()[2],__file__)
#接受非负数的异常
except FuShuError as e:
print(‘年龄为负数属于非法数值‘’)
age =age * -1
except NameError:
print(‘变量书写异常‘)
print(age)’
以上是关于自定义错误类型和处理的主要内容,如果未能解决你的问题,请参考以下文章
如何注册自定义的Hibernate ARRAY Type,它同时处理real []和text []数组列类型