python中try的用法_python中的 try...except...finally 的用法

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

author:headsen chen

date:2018-04-09 16:22:11

try, except, finally是Python中的异常捕捉机制,通常的用法就是try..except...结合起来用,程序捕捉try语句块中的异常,如果发现异常就把异常交给except中的语句块进行处理,也就是执行except中的语句,这里except也可以结合

if...else一起使用。

例1:try中无异常时,执行try和finally中的内容

def read_file():

try:

print('aaa')

except:

print('error occurs while reading file')

finally:

print('bbbb')

read_file()

------>

aaa

bbbb

总结:当try下面的语句正常运行的时候,一直运行。运行完了后运行finaly下面的语句

例2:try中有异常时:

当try下面的语句运行后,碰到异常的时候,运行except下面的语句,最后运行finaly下面的语句,finaly语句一般做些资源释放的工作,比如关闭打开的文件等。

def read_file():

try:

print(2222222222)

print(aaa)

except:

print('error occurs while reading file')

finally:

print('bbbb')

read_file()

------>

2222222222 ----------> 证明try中正确的程序会被执行的,配到异常后在调到except部分执行异常的。

error occurs while reading file

bbbb

当然,try...except也可以结合finally使用。则将finally放在最后,finally语句块的内容通常是做一些后事的处理,比如资源释放什么的,并且finally语句块是无论如何都要执行的,即使在前面的try和except语句块中出现了return,都现

将finally语句执行完再去执行前面的return语句。下面看一个简单的例子:

例3:try...except...else的用法

else里的只有在try下面的语句全部正确执行了才会执行else,try里面有异常不会else的语句,和finaly不同,finaly是无论try里有无异常都执行

def read_file():

try:

print(2222222222)

except:

print('error occurs while reading file')

else:

print('bbbb')

read_file()

例4:取返回值1

当异常函数里的返回值取值:try里面正确执行时,整个函数的返回值采用try下面的返回值

def read_file():

try:

print(2222222222)

# print(a)

return 5

except:

print('error occurs while reading file')

return 6

finally:

print('bbbb')

print(read_file())

----->

2222222222

bbbb

5

例5:取返回值2

try里面有异常时,整个函数的返回值采用except下面的返回值

def read_file():

try:

print(2222222222)

print(a)

return 5

except:

print('error occurs while reading file')

return 6

finally:

print('bbbb')

print(read_file())

----->

2222222222

error occurs while reading file

bbbb

6

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值