D22_4.1_异常处理

# ### 主动抛出异常 raise 所有异常类的父类(基类,超类) BaseException ; 所有普通异常类的父类(基类,超类) Exception
try:
  raise BaseException
except BaseException:
  pass
"""raise 后面如果什么也不写 , 默认抛出的是BaseException"""

# (1) 基本用法
try:
  raise BaseException
except BaseException:
  pass

# (2) 自定义异常类

# 只能在异常的情况下,才能获取到相应的数据
def return_errorinfo(n):
  import sys
  f = sys.exc_info()[2].tb_frame.f_back
if n==1:
  return str(f.f_lineno) #返回当前行数
elif n == 2:
  return f.f_code.co_filename #返回文件名

# get_info 通过抛出异常触发return_errorinfo函数,从而获取异常的行号和文件
def get_info(n):
try:
raise
except:
return return_errorinfo(n)

猜你喜欢

转载自www.cnblogs.com/banbosuiyue/p/11832503.html