python之异常处理

1、基本格式

try:
    ...
    ...
    ...
except 异常类型1[as reason]:
    ...
    print(str(reason))    #打印具体的异常类型,reason只是一个储存的变量
except (异常类型2,异常类型3): 
    ... 
except:
    ...    #最优先异常处理,无视前面except的处理
finally:
    ...    #最终都会被执行的部分,用于例如用户打开文件后未保存抛出异常,无论如何我们都要去保存文件

例如:

try: 
    a=f,open('路径','w')
   #raise  KeyboardInterrupt    #使用raise主动触发异常
    a.write('我是一个测试例')
    i=1+'1'    #在这里抛出异常,写入的文件为关闭,可能造成丢失
    a.close()
except OSError as error:
    print('文件不存在')
except TypeError:
    print('类型错了哟')
finally:
    f.close()

2、总结

  1. except作为异常处理部分,可以将异常类型保存在变量值,也可以有多个except来比对
  2. except优先级最高,但是无法得到具体的异常类型,即不知道怎么出错了,一般不推荐
  3. finally是一个非常棒的杀手锏
  4. raise OSError:主动触发OSError异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一个对称矩阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值