久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

python如何吞任何形式的異常?

瀏覽:122日期:2022-07-31 16:56:07

問題描述

經??吹接行┠K,任何異常都不會崩潰,然后還是繼續運行代碼,自己試過在程序最外面加上try ----catch----但是好像并不能把所有錯誤信息都吞了,好像只對塊內代碼起作用,要是跳到另外的方法仍然會拋出異常,那種吞異常的是怎么寫的呀?我現在有個需求要求代碼一直跑。即使有異常也不能退出。。。請教各位大神指點

問題解答

回答1:

這需要封裝一個框架,然而你所描述的任何錯誤都繼續運行。這種要求是你假設即使有錯誤也不影響程序的運行結果,那么這就意味著你自己能夠控制錯誤的范圍,如果這種錯誤發生的概率很大并且并不是致命的,你希望通過在主線程捕獲,任何異常最終通過程序入口拋出。所以你應該是在程序運行啟動塊進行捕獲。

try: main()except: pass

這種方式當出現異常是也會退出,如果希望再繼續嘗試。可以加一個循環

while time_out < max_time_out: try:main() except:passtimeout+=100

但這種方式必須你自己非常清楚程序在若干次嘗試后能夠正常,否則還是會退出。最后我想說的是,程序因為異常掛掉是提醒你真的應該去修復而不是忽略。如果忽略可以繼續運行但是帶來了錯誤的結果,你將后悔不已~

回答2:

應該是

try....except

另外你在最外層加try..except,當程序出錯后,只會在最外層捕捉到錯誤,然后就退出了,我有一個辦法,不過出錯后只能重頭開始(最好找到出錯的地方)

import sysdef main(): print(1) int(’s’)def main1(): print(2) while True:try: main()except KeyboardInterrupt: sys.exit()except Exception: passif __name__ == ’__main__’: main1()

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 留坝县| 晋中市| 秦皇岛市| 嵊泗县| 山东| 惠来县| 西宁市| 孙吴县| 临夏市| 临沭县| 罗源县| 车险| 瓦房店市| 西乌珠穆沁旗| 天长市| 江北区| 黎城县| 那曲县| 景洪市| 慈利县| 义马市| 定日县| 崇阳县| 广宁县| 冷水江市| 枞阳县| 景洪市| 荥阳市| 青川县| 台江县| 铜梁县| 马关县| 鄂托克前旗| 砀山县| 克什克腾旗| 瓦房店市| 甘谷县| 利津县| 富川| 高青县| 达尔|