1. 程式人生 > 程式設計 >python except異常處理之後不退出,解決異常繼續執行的實現

python except異常處理之後不退出,解決異常繼續執行的實現

寫了個等待分析結果,解析分析結果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異常處理之後不退出,解決異常繼續執行的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。