欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python異常處理之try finally不報錯的原因

 更新時間:2020年05月18日 14:30:09   作者:myself_oriented  
這篇文章主要介紹了python異常處理之try finally不報錯的原因,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

因為有把python程序打包成exe的需求,所以,有了如下的代碼

import time

class LoopOver(Exception):
  def __init__(self, *args, **kwargs):
    pass

class Spider:
  def __init__(self):
    super().__init__()

  def run(self):
    raise LoopOver

  @property
  def time(self):
    return '總共用時:{}秒'.format(self.runtime)


if __name__ == '__main__':
  try:
    spider = Spider()
    spider.run()
    print(spider.time) # 運行總時間
  finally:
    print('死掉了')
    time.sleep(60 * 60)

但是遇到了一個問題

程序顯示“死掉后”并不會顯示堆棧的錯誤信息

排查后發(fā)現(xiàn),程序打印“堆棧的錯誤信息”并不是異步的,“堆棧的錯誤信息”會等到finally內的代碼塊執(zhí)行完畢后才會輸出

所以,把代碼塊改一下,
需要導入traceback庫來跟蹤堆棧的錯誤信息
如下所示

import time
import traceback


class LoopOver(Exception):
  def __init__(self, *args, **kwargs):
    pass


class Spider:
  def __init__(self):
    super().__init__()

  def run(self):
    raise LoopOver

  @property
  def time(self):
    return '總共用時:{}秒'.format(self.runtime)


if __name__ == '__main__':
  try:
    spider = Spider()
    spider.run()
    print(spider.time) # 運行總時間
  finally:
    traceback.print_exc()
    print('死掉了')
    time.sleep(60 * 60)

這種打印方式是異步的,不知道是多線程還是協(xié)程還是啥

更多追蹤堆棧錯誤信息的,可以看這篇文章
Python捕獲異常堆棧信息的幾種方法

到此這篇關于python異常處理之try finally不報錯的原因的文章就介紹到這了,更多相關python try finally不報錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python處理時間日期坐標軸過程詳解

    Python處理時間日期坐標軸過程詳解

    這篇文章主要介紹了Python處理時間日期坐標軸過程詳解,當日期數(shù)據(jù)作為圖表的坐標軸時通常需要特殊處理,應為日期字符串比較長,容易產生重疊現(xiàn)象,需要的朋友可以參考下
    2019-06-06
  • python如何實現(xiàn)一個刷網頁小程序

    python如何實現(xiàn)一個刷網頁小程序

    這篇文章主要給大家介紹了關于利用python如何實現(xiàn)一個刷網頁小程序的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • python快速編寫單行注釋多行注釋的方法

    python快速編寫單行注釋多行注釋的方法

    在本篇文章里小編給大家整理的是關于python快速編寫單行注釋多行注釋的方法,有此需要的朋友們可以參考學習下。
    2019-07-07
  • 基于Python的XSS測試工具XSStrike使用方法

    基于Python的XSS測試工具XSStrike使用方法

    XSS(Cross Site Scripting,跨站腳本攻擊)是一類特殊的Web客戶端腳本注入攻擊手段,通常指攻擊者通過“HTML注入”篡改了網頁,插入惡意的腳本,從而在用戶瀏覽網頁時控制瀏覽器的一種攻擊。
    2017-07-07
  • python 實現(xiàn)存儲數(shù)據(jù)到txt和pdf文檔及亂碼問題的解決

    python 實現(xiàn)存儲數(shù)據(jù)到txt和pdf文檔及亂碼問題的解決

    這篇文章主要介紹了python 實現(xiàn)存儲數(shù)據(jù)到txt和pdf文檔及亂碼問題的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python+Tesseract OCR實現(xiàn)截屏識別文字

    python+Tesseract OCR實現(xiàn)截屏識別文字

    pytesseract Python常用pytesseract進行圖片上的文字識別,本文主要介紹了python+Tesseract?OCR實現(xiàn)截屏識別文字,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Python中的localtime()方法使用詳解

    Python中的localtime()方法使用詳解

    這篇文章主要介紹了Python中的localtime()方法使用詳解,是Python入門學習的基礎知識,需要的朋友可以參考下
    2015-05-05
  • Python機器學習之手寫KNN算法預測城市空氣質量

    Python機器學習之手寫KNN算法預測城市空氣質量

    KNN(K-Nearest Neighbor)最鄰近分類算法是數(shù)據(jù)挖掘分類(classification)技術中常用算法之一,本文將介紹如何通過KNN算法實現(xiàn)城市空氣質量的預測,感興趣的同學可以了解一下
    2021-12-12
  • Python中Pygame模塊的詳細安裝過程

    Python中Pygame模塊的詳細安裝過程

    pygame安裝是為了開發(fā)小游戲,在下新手在經過許多嘗試后,為大家避雷,給大家分享一個簡單有效的方法,下面這篇文章主要給大家介紹了關于Python中Pygame的詳細安裝過程的相關資料,需要的朋友可以參考下
    2022-09-09
  • 使用Python實現(xiàn)更改Word文檔的頁面大小

    使用Python實現(xiàn)更改Word文檔的頁面大小

    頁面大小確定文檔中每個頁面的尺寸和布局,有時我們會需要自定義頁面大小以滿足特定要求,下面我們就來看看如何使用Python實現(xiàn)這一效果吧
    2024-03-03

最新評論