久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

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

歡迎大家來到自學Python編程教室,上邊兩講我們學習了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自學的道路上又堅持了一天,今天所講的異常處理,你學會了嗎?

好啦,今天的分享到這里就結束了,希望大家能夠持續關注馬哥教育官網,每天都會有大量優質內容與大家分享!

聲明:文章來源于網絡,侵刪!

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 怀集县| 江阴市| 铜川市| 桦甸市| 大同县| 阳西县| 漠河县| 鹿邑县| 商河县| 黄石市| 乐安县| 方山县| 左贡县| 南平市| 天门市| 科技| 福安市| 平山县| 民县| 宜川县| 双辽市| 临澧县| 惠州市| 兴山县| 广东省| 洛扎县| 封开县| 曲阜市| 晴隆县| 类乌齐县| 澄城县| 莱州市| 集贤县| 林周县| 汝阳县| 平凉市| 栾城县| 伊金霍洛旗| 太康县| 金川县| 通渭县|