异常处理

#except在捕获错误异常的时候,

是要根据具体的错误类型来捕获的

#用一个块可以捕获多个不同类型的异常
#Exception 可以捕获所有的异常当对出现的问题

或者错误不确定的情况下可以使用Exception

try:
# print(b)#捕获逻辑的代码
# li=[1,2,3]
# print(li[5])
# a=10/0
pass

except NameError as msg:

#捕获到的错误才会在这里执行

print(msg)

pass

except IndexError as msg:

#捕获到的错误才会在这里执行

print(msg)

pass

except ZeroDivisionError as msg:

#捕获到的错误才会在这里执行

print(msg)

pass

except Exception as msg:
#捕获到的错误才会在这里执行
print(msg)
#在此尽量的去处理捕获到的错误
pass
def A(s):
return 10/int(s)
def B(s):
return A(s)*2
def main():

B(0)

try:
    B('0')
    pass
except Exception as msg:
    print(msg)
    pass
pass

pass

main()

#不需要在每个可能出错的地方去捕获,只要在合适的层次
#去捕获错误就可以了,减少try-- except的冗余
#异常的抛出机制
#如果在运行是发生异常 解释器会查找相应的异常捕获类型
#如果在当前函数里面没有找到的话。它会将异常传递给上层的调用函数
#如果在最外层没有找到的话。解释器就会推出,程序down

try-except-else

try:

print(‘yes’)

#print (aa)

pass

except Exception as msg:

print(‘error’,msg)

else:

print(‘当try里面 没有出现异常 就会执行’)

pass

try-except-finally

try:
int (‘aaaa’)

pass

except Exception as msg:
print(msg)
pass
finally:
print(‘释放文件的资源、数据库连接是资源等等’)
print(‘不管有没有出错都执行的代码块’)
pass

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值