码迷,mamicode.com
首页 > 其他好文 > 详细

自定义错误类型和处理

时间:2017-11-20 21:46:14      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:运行时   ack   错误   code   异常类   rms   异常   error:   sel   

#导入系统模式

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

自定义错误类型和处理

标签:运行时   ack   错误   code   异常类   rms   异常   error:   sel   

原文地址:http://www.cnblogs.com/hao-jiang-tao/p/7868005.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!