昨天浙江11选5开奖结果查询:自學Python編程【第三十四節】異常處理

浙江11选5任3遗漏 www.ehxis.com 歡迎大家來到自學浙江11选5任3遗漏教室,上邊兩講我們學習了Python編程中的break(強制退出)和continue(中斷本次循環,進入下次循環),你還記得嗎?這一講,我們學習異常處理的相關內容,相信大家都有碰到過異常束手無策的時候,看看今天是否可以給你些新的思路新的解決辦法吧:

自學Python編程【第三十四節】異常處理

在程序運行時,如果我們的代碼引發了錯誤,Python就會中斷程序,并且輸出錯誤提示。

比如我們寫了一句:

print int('0.5')

運行后程序得到錯誤提示:

Traceback (most recent call last): 
File "C:/Python27/test.py", line 1, in <module>
print int('0.5')
ValueError: invalid literal for int() with base 10: '0.5'

意思是,在test.py這個文件,第1行,print int(‘0.5’)這里,你拿了一個不是10進制能夠表示的字符,我沒法把它轉成int值。

上面的錯誤可以避免,但在實際的應用中,有很多錯誤是開發者無法控制的,例如用戶輸入了一個不合規定的值,或者需要打開的文件不存在。這些情況被稱作“異?!?,一個好的程序需要能處理可能發生的異常,避免程序因此而中斷。

例如我們去打開一個文件:

f = file('non-exist.txt') 
print 'File opened!'

f.close()

假如這個文件因為某種原因并沒有出現在應該出現的文件夾里,程序就會報錯:

IOError: [Errno 2] No such file or directory: 'non-exist.txt'

程序在出錯處中斷,后面的print不會被執行。

在Python中,可以使用try…except語句來處理異常。做法是,把可能引發異常的語句放在try-塊中,把處理異常的語句放在except-塊中。

把剛才那段代碼放入try…except中:

try: 
f = file('non-exist.txt')
print 'File opened!'
f.close()
except:
print 'File not exists.'
print 'Done'

當程序在try內部打開文件引發異常時,會跳過try中剩下的代碼,直接跳轉到except中的語句處理異常。于是輸出了“File not exists.”。如果文件被順利打開,則會輸出“File opened!”,而不會去執行except中的語句。

但無論如何,整個程序不會中斷,最后的“Done”都會被輸出。

在try…except語句中,try中引發的異常就像是扔出了一只飛盤,而except就是一只靈敏的狗,總能準確地接住飛盤。

恭喜您在Python自學的道路上又堅持了一天,今天所講的異常處理,你學會了嗎?

好啦,今天的分享到這里就結束了,希望大家能夠持續關注浙江11选5任3遗漏官網,每天都會有大量優質內容與大家分享!免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code