python try..except..finally 实验【细节决定成败】

群里朋友今天问了个问题,当时自己没注意,简单跑了下代码,发现真的很奇妙

【1】 情况1:

try:
    global r
    <span style="color:#FF0000;">print 'try...'</span>
    r = 10 / 0
    print 'result:', r
except:
   <span style="color:#FF0000;"> print 'end:'</span>
    
<span style="color:#FF0000;">print 'finally...'
print "E"</span>

【2】情况2:

try:
    global r
    <span style="color:#FF0000;">print 'try...'</span>
    r = 10 / 0
    print 'result:', r
except:
    <span style="color:#FF0000;">print 'end:'</span>
finally:   
    <span style="color:#FF0000;">print 'finally...'</span>
<span style="color:#FF0000;">print "E"</span>

【3】情况3

try:
    global r
    <span style="color:#FF0000;">print 'try...'</span>
    r = 10 / 0
    print 'result:', r
except:
    <span style="color:#FF0000;">print 'end:'</span>
    <span style="color:#3333FF;">quit()</span>
finally:   
    <span style="color:#FF0000;">print 'finally...'</span>
print "E"

【4】情况4

try:
    global r
    <span style="color:#FF0000;">print 'try...'</span>
    r = 10 / 0
    print 'result:', r
except:
    <span style="color:#FF0000;">print 'end:'</span>
    quit()
  
print 'finally...'
print "E"


由此总结, try..except..finally 的执行结构上

定义try部分 程序本该执行的部分

except 用作错误检测 一旦try部分出错,try中出错语句后面部分全部不执行

跳到except部分

而finally部分是无条件执行的,无论except中发生了什么,即使是退出请求quit()

(如果不使用finally部分,当except中出现quit(),程序自动退出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值