您的位置:首頁技術文章
文章詳情頁

python - py的缺陷嗎——try...except,except里只要有對應第一個try的錯誤就行了嗎?也就是忽視了其他的try錯

瀏覽:86日期:2022-09-22 14:51:00

問題描述

一個try中可以能產生多個錯誤,所以可以一個try對應多個except

try:

f = open(’我為什么是一個文件.txt’) #這個txt并不存在print(f.read())f.close()sum=1+’1’ #文件類型出錯

except TypeError as reason:

print(’類型出錯啦n錯誤的原因是:’+str(reason))

except OSError as reason:

print(’文件出錯了n錯誤的原因是:’+str(reason))

如果去掉這兩行

except OSError as reason:

print(’文件出錯了n錯誤的原因是:’+str(reason))

會報錯

Traceback (most recent call last):? File 'E:/PyCharm 2016.3.2/untitled3/guessing/test01.py', line 2, in <module>? ? f = open(’我為什么是一個文件.txt’) ?#這個txt并不存在FileNotFoundError: [Errno 2] No such file or directory: ’我為什么是一個文件.txt’

而如果去掉

except TypeError as reason:

print(’類型出錯啦n錯誤的原因是:’+str(reason))

則不會報錯,也就是說忽視了sum=1+‘1’的錯誤,這個是缺陷嗎還是什么,麻煩大咖 解釋下

問題解答

回答1:

這里有兩個錯誤啊,發生OSError的時候就不執行后面的代碼了,也就是沒有執行

sum=1+’1’ #文件類型出錯

,所有不是忽略了,而是不執行,所有就沒有報錯哦

標簽: Python 編程
国产综合久久一区二区三区