自定义错误类型和处理

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)’

以上是关于自定义错误类型和处理的主要内容,如果未能解决你的问题,请参考以下文章

在python 3.6中处理自定义编码时遇到类型错误

17)错误处理

python 自定义错误处理

如何注册自定义的Hibernate ARRAY Type,它同时处理real []和text []数组列类型

学习日记0827异常处理 元类 自定义元类 自定义元类来实例化类 属性查找顺序

如何使用自定义消息处理错误请求 Web api 核心?