python except異常處理之後不退出,解決異常繼續執行的實現
阿新 • • 發佈:2020-04-26
寫了個等待分析結果,解析分析結果json的指令碼
那個檔案生成時候有點大,有時候監測到新檔案就去解析可能檔案只生成了一半,就會丟擲異常退出當前執行緒,此次的分析結果就丟失了,如果load json檔案失敗,一般就是上百M到幾G的json大檔案,等待10秒,如果再次load失敗,重新再load一次,這樣指令碼看上去挺繁瑣的,監控執行緒又只能監控檔案的建立,修改和刪除,不知道建立的檔案是否寫完畢。
def run_analyze(): sleep(2) berror = True temp = {} while berror == True: with open(self.filepath,'r') as f: global filename,filescore,filesize,filebehavior,filestrings try: temp = json.loads(f.read()) berror = False except:#KeyError,VauleError print "analyze report is creating,please wait a moment..." f.close() sleep(5) berror = True pass filescore = float(temp['info']['score']) print ("filescore:%d" %filescore)
補充知識:Python強制丟擲自定義異常
如下所示:
raise Exception("My Exception")
當程式執行到這行時,會丟擲異常,打印出Exception: My Exception
以上這篇python except異常處理之後不退出,解決異常繼續執行的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。