亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Python 捕獲代碼中所有異常的方法

瀏覽:109日期:2022-07-15 11:01:57

問題

怎樣捕獲代碼中的所有異常?

解決方案

想要捕獲所有的異常,可以直接捕獲 Exception 即可:

try: ...except Exception as e: ... log(’Reason:’, e) # Important!

這個將會捕獲除了 SystemExit 、 KeyboardInterrupt 和 GeneratorExit 之外的所有異常。 如果你還想捕獲這三個異常,將 Exception 改成 BaseException 即可。

討論

捕獲所有異常通常是由于程序員在某些復雜操作中并不能記住所有可能的異常。 如果你不是很細心的人,這也是編寫不易調(diào)試代碼的一個簡單方法。

正因如此,如果你選擇捕獲所有異常,那么在某個地方(比如日志文件、打印異常到屏幕)打印確切原因就比較重要了。 如果你沒有這樣做,有時候你看到異常打印時可能摸不著頭腦,就像下面這樣:

def parse_int(s): try: n = int(v) except Exception: print('Couldn’t parse')

試著運行這個函數(shù),結(jié)果如下:

>>> parse_int(’n/a’)Couldn’t parse>>> parse_int(’42’)Couldn’t parse>>>

這時候你就會撓頭想:“這咋回事啊?” 假如你像下面這樣重寫這個函數(shù):

def parse_int(s): try: n = int(v) except Exception as e: print('Couldn’t parse') print(’Reason:’, e)

這時候你能獲取如下輸出,指明了有個編程錯誤:

>>> parse_int(’42’)Couldn’t parseReason: global name ’v’ is not defined>>>

很明顯,你應(yīng)該盡可能將異常處理器定義的精準一些。 不過,要是你必須捕獲所有異常,確保打印正確的診斷信息或?qū)惓鞑コ鋈ィ@樣不會丟失掉異常。

以上就是Python 捕獲代碼中所有異常的方法的詳細內(nèi)容,更多關(guān)于Python 捕獲異常的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 日韩福利在线视频 | 国产高清不卡一区二区三区 | 久久精品视频99精品视频150 | 521色香蕉网在线观看免费 | 日韩精品一区二三区中文 | 东京一热本色道久久爱 | 国产日产欧产精品 | 日日干天天草 | 亚洲欧美在线综合 | 日本黄色片免费观看 | 成 人 免 费 黄 色 | 尤物精品在线观看 | 欧美一级α片毛片免费观看 | 日产一一到六区麻豆 | 色片免费| 精品国产区一区二区三区在线观看 | 91久久亚洲精品国产一区二区 | 国产情侣真实露脸在线最新 | 黄色片一 | 国产精品酒店 | 国产免费色视频 | 日本一级特黄毛片免费视频9 | 黄色网zhan| 射综合网| 日韩精品国产一区 | 人成精品视频三区二区一区 | 真人毛片 | 日本特级黄色录像 | 91国内精品久久久久怡红院 | 国产噜噜噜精品免费 | 日韩免费一区二区三区 | 国产伦精品一区二区三区在线观看 | 精品免费视频 | 国产片免费| 99精品视频在线观看re | 精品国产一区二区三区在线 | 国产成人综合怡春院精品 | 99久热只有精品视频免费观看17 | 国产精品色婷婷在线观看 | 欧美日本黄色 | 亚洲美女色在线欧洲美女 |