Python档案袋(异常与异常捕获 )

无异常捕获

程序遇到异常会中断

print( xxx )
print("---- 完 -----")

得到结果为:

有异常捕获

程序遇到异常会进入异常处理,并继续执行下面程序

try:
 print( xxx )
except NameError as e:
    print("出现错误",e)
print("---- 完 -----")

抓住所有异常

try:
  print(xx)
except Exception as e:
  print("----异常---%s"%e) #输出:----异常---name 'xx' is not defined

捕获多个异常:

方法一:

【except (异常1,异常2) as e:】如果多个异常可以使用一个处理方法时,可使用多异常捕获方法

方法二:

多个异常,使用不同的异常处理,但这样只会进入第一个发生异常处,然后跳出异常捕获

xx=[ ]
try:
    
 print( xxx ) #NameError
 print(xx[1]) #IndexError
 
except NameError as e:
    print("出现错误1",e)
except IndexError as e:
    print("出现错误2",e)
except Exception as e:
    print("未知错误",e)

print("---- 完 -----")

else和finally的用法

try:
 print( xxx ) #NameError
except NameError as e:
    print("出现错误1",e)
else:
    print("一切正常")
    
finally:
    print("不管有没有错,我必须执行")
    
print("---- 完 -----")

自定义异常:

 1 class DongExcep(Exception):
 2     def __init__(self,msgxx):
 3         self.msgx=msgxx
 4 
 5     #实质调用该方法,可以不写也会输出类属性值
 6     def __str__(self): 
 7          return "东==>:%s"%(self.msgx)
 8 
 9 try:
10    #抛出自定义异常
11    raise DongExcep("东小东自定义异常")
12 
13 #捕获自定义异常
14 except DongExcep as e: #
15     print("出现错误1",e)
16 
17 print("---- 完 -----")

注意:

缩进错误(IndentationError),不可被捕获

转载于:https://www.cnblogs.com/dongxiaodong/p/10493604.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值