亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

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

瀏覽:110日期: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 編程
主站蜘蛛池模板: 国产在线观看网址在线视频 | 亚洲精品久久九九热 | 日韩欧美亚洲中字幕在线播放 | 久久永久免费 | 国产精品免费看久久久香蕉 | 一级看片 | 国产成人精品s8p视频 | 久久网视频 | 草草影院ccyy免费看片 | 日本天堂网在线观看 | 国产成人免费高清激情视频 | 久久精品道一区二区三区 | 国产激情视频在线播放 | 国产在线黄 | 国产在线一区二区三区在线 | 偷拍精品视频一区二区三区 | 99成人精品 | 成人午夜性a一级毛片美女 成人午夜亚洲影视在线观看 | 色久视频| 国产乱码精品一区二区三区四川人 | 久久99精品视频 | 97在线视频免费播放 | 性欧美在线 | 欧美视频网站在线观看 | 亚洲羞羞视频 | 久久在线资源 | 美女被免费视频的网站 | 精品视频在线观看一区二区三区 | 午夜在线社区视频 | 亚洲精品国产拍拍拍拍拍 | 亚洲国产成人最新精品资源 | 欧美特黄高清免费观看的 | 三级黄色片网址 | 91久久亚洲国产成人精品性色 | 国产美女动态免费视频 | 精品热线九九精品视频 | 日本 国产 欧美 | 国产精品日韩 | 男人在线天堂 | 久久r视频 | 日本精品高清一区二区2021 |