python中的try...except...finally函数的用法

异常Error

我们在写代码的时候,经常会遇见程序抛出Error无法执行的情况

一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

try…except…else

try:
    正常的操作
   ......................
except:
    发生异常,执行这块代码
   ......................
else:
    如果没有异常执行这块代码

except后可写入一个固定的错误名称 如写 except IOError 并且我们可以写多个except语句

try…except…finally

我们还可以使用try...except...finally...的错误处理机制

try...except...finally...try...except...else区别是 无论有没有错误 finally语句都会执行

例如:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
try:
    print('try...')
    r = 10 / 0
    print('result:', r)
except ZeroDivisionError as e:
    print('except:', e)
finally:
    print('finally...')
print('END')

当我们认为某些代码可能会出错时,就可以用try来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块,执行except语句块,如果有finally语句块,也会执行finally语句块,

即使捕捉到错误,仍然会执行finally语句块,可以认为finally语句块优先级高于except语句块。

如下:

def func1():
   try:
       return 1
   finally:
       return 2

def func2():
   try:
       raise ValueError()
   except:
       return 1
   finally:
       return 3

print(func1())
print(func2())

程序打印结果是 2和3 ,即使func2里有return 1 ,但是仍然执行return 3 ,实际应用中,并不推荐在finally中使用return返回。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值