您的位置:首页 > 编程语言 > Python开发

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

2015-02-25 14:22 501 查看
群里朋友今天问了个问题,当时自己没注意,简单跑了下代码,发现真的很奇妙

【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(),程序自动退出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: