午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

python 運行多個函數,如何讓單個函數的報錯不影響其他函數的執(zhí)行

瀏覽:179日期:2022-08-16 10:37:32

問題描述

假設有 a , b , c 三個函數需要執(zhí)行,但是有可能會其中某個函數會報錯

最初的寫法是:

try: a() b() c()except: pass

這樣寫的問題是如果 b 報錯了,c 也不會執(zhí)行了,想到可以在函數內部定義 try ,由此想到用裝飾器來搞:

def error(fun): def wrapped():try: fun()except: print(’這個函數出錯了:%s’ % fun.__name__) return wrapped@errordef a(): print( 1 / 0)@errordef b(): print(0 / 1) @errordef c(): print(’1111’)

這樣看問題勉強是解決了,但是每個函數頭上都頂個裝飾器,感覺有點二,所以問問有沒有更優(yōu)雅的實現方法

實際上的代碼是運行一堆爬蟲,每個爬蟲都是不同的網頁,有可能會報錯,但是我不想讓單個網頁的報錯影響到其他爬蟲的執(zhí)行

問題解答

回答1:

不知道你要的「更優(yōu)雅的實現方法」是什么。忽略所有函數的錯誤本來就很不優(yōu)雅了。

當然你可以寫一個這種函數:

import tracebackdef run_with_ignorance(*funcs): for f in funcs: try: f() except Exception: traceback.print_exc()

然后這么調用:

run_with_ignorance(a, b, c)

標簽: Python 編程
主站蜘蛛池模板: 国产三级视频在线 | 中文字幕视频在线观看 | 色丁香在线 | 久热中文 | 欧美日韩国产精品 | 六月丁香色婷婷 | 日韩不卡免费 | av在线第一页 | 懂色av一区二区在线播放 | 天堂av亚洲 | 国产一级大片在线观看 | 99久久99久久精品免费看蜜桃 | xxxx国产视频 | 一二三区精品视频 | 免费av高清 | 日本欧美色图 | 夜色99| 亚洲男人的天堂av | 香蕉视频h | 欧美激情专区 | 97精品在线播放 | 黄色短视频在线播放 | 亚洲综合国产 | 在线免费观看亚洲 | 中文字幕天堂网 | 久久99精品久久久久久国产越南 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 久久免费视频1 | 牛牛视频在线观看 | 亚洲爽妇网 | 有码av| 超碰手机在线 | 亚洲精品日韩在线观看 | 中文字幕一区二区三区在线观看 | 久久午夜伦理 | 四虎精品在线 | 国产午夜久久 | 精品久久久久久亚洲精品 | 国产区免费 | 欧美九九九 | 欧美日韩乱国产 |