av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

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

問題描述

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

最初的寫法是:

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

這樣寫的問題是如果 b 報錯了,c 也不會執行了,想到可以在函數內部定義 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’)

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

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

問題解答

回答1:

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

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

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

然后這么調用:

run_with_ignorance(a, b, c)

標簽: Python 編程
主站蜘蛛池模板: 午夜免费网站 | 欧美视频免费在线 | 国产日韩精品一区 | 一区二区三区四区在线 | 午夜影视网| 国产一区二区三区 | 黄色小视频大全 | 播放一级毛片 | 久久99精品久久久 | 日韩在线不卡 | 精品在线观看一区二区 | 日韩免费视频一区二区 | 久久黄网 | 久久精品视频在线观看 | 9久9久 | 久久久久久久国产精品 | 午夜在线| 黑人精品欧美一区二区蜜桃 | 高清国产一区二区 | 一区欧美| 成人妇女免费播放久久久 | 亚洲美女一区 | 国产免费福利在线 | 男女国产网站 | 亚洲欧美一区二区在线观看 | 免费在线观看h片 | 精品一区二区三区在线观看国产 | 欧美极品在线 | 亚洲成人自拍 | 亚洲一区二区精品视频 | 久久综合狠狠综合久久综合88 | 国产精品国产三级国产aⅴ浪潮 | 久久综合久久久 | 成人国产在线观看 | 羞羞网站在线免费观看 | 另类视频区 | 久久夜视频 | 欧美精品在线免费观看 | 精品国产乱码久久久久久蜜臀 | 国产一区二区av | 北条麻妃一区二区三区在线视频 |