python循环捕捉异常_python异常捕捉以及处理
看標題覺得高大上,好像能處理所有的異常。但是,事實是只能按照字面的意思來理解這一段話。
眾所周知寫代碼哪有不出bug的?
那么出現(xiàn)了bug 我們不想讓程序因為bug的存在而退出。那么要怎么做呢?
今天來寫一下這個。
try:
代碼
except exception:
代碼
注意:except exception? 會捕捉所有的異常,簡稱:萬能異常。而我所知道的異常有: 索引異常 變量名字異常 迭代異常 無法調(diào)用異常 。。。。。等等有很多異常
但是一旦使用萬能異常就會包庇所有的其它異常。正常的使用方式是應該把萬能異常寫在捕捉異常的最下方。? except 去捕捉你知道或者預料要出現(xiàn)的異常。這樣寫的好處是方便你改bug
我們的異常處理應該是小段小段的使用,方便代碼的調(diào)試。
except exception as a:? print(a)? 可以打印出異常的類型
為了偷懶,so我就沒有打代碼,直接粘貼過來圖片了,? 捕捉異常之后可以使用else:? ?else的作用是假如這個程序沒有報錯執(zhí)行else內(nèi)的代碼。
舉例:我們發(fā)送郵件的時候會存在發(fā)送的郵箱號碼不能使用,或者網(wǎng)絡錯誤無法發(fā)送。我們不知道是否這個郵件發(fā)送出去了。那么else就可以用在捕捉異常之后,意思是代碼沒有發(fā)生異常使用else內(nèi)的代碼!
finally 的作用比較神奇,不管是代碼無異常運行還是異常運行都會運行到finally內(nèi) ,那么它的作用比較神奇。它在函數(shù)內(nèi)部使用,即使return 也會運行finally內(nèi)的代碼。
粘貼一發(fā)老師寫的總結(jié):
# 程序一旦發(fā)生錯誤,就從錯誤的位置停下來了,不在繼續(xù)執(zhí)行后面的內(nèi)容
# 使用try和except就能處理異常
#try是我們需要處理的代碼
#except 后面跟一個錯誤類型 當代碼發(fā)生錯誤且錯誤類型符合的時候 就會執(zhí)行except中的代碼
#except支持多分支
#有沒有一個能處理所有錯誤的類型 : Exception
# 有了萬能的處理機制仍然需要把能預測到的問題單獨處理
# 單獨處理的所有內(nèi)容都應該寫在萬能異常之前
# else : 沒有異常的時候執(zhí)行else中的代碼
# finally : 不管代碼是否異常,都會執(zhí)行
# finally和return相遇的時候 依然會執(zhí)行
# 函數(shù)里做異常處理用,不管是否異常去做一些收尾工作
總結(jié)
以上是生活随笔為你收集整理的python循环捕捉异常_python异常捕捉以及处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 角谷定理python每次输出数_角谷定理
- 下一篇: hadoop yarn 获取日志_赵丽颖