python--traceback模組

來源:互聯網
上載者:User

標籤:列印   返回   int   class   encoding   traceback   orm   bin   使用   

#!/usr/bin/env python# -*- coding:utf-8 -*- # author:love_cat# 異常處理在python中已經屢見不鮮了,我們不僅可以處理異常,也可以將異常列印出來.try:    print(a)  # 顯然a沒有被定義except Exception as e:    print(e)# 程式的輸出結果如下‘‘‘name ‘a‘ is not defined‘‘‘# 但僅僅如此,我們卻不知道程式在什麼地方報的錯# 當我們不使用try語句時,解譯器會給我們報出很詳細的錯誤,但此時程式也崩潰了# 如何在保證程式不崩潰的前提下,擷取詳細的錯誤資訊呢?# 這時候,可以使用traceback模組下的方法import tracebacktry:    print(a)  # a依舊沒有被定義except Exception as e:    traceback.print_exc()print(‘古明地盆‘)# 程式輸出結果如下‘‘‘Traceback (most recent call last):  File "F:/satori/python--traceback/異常處理.py", line 22, in <module>    print(a)  # a依舊沒有被定義NameError: name ‘a‘ is not defined古明地盆‘‘‘# 可以看出來這和程式崩潰時,解譯器報出的錯誤是一致的,但我們下面的字串還是被列印了出來# 除了traceback.print_exc()之外,還可以使用traceback.format_exc()# 區別是traceback.print_exc()報出的錯誤的形式跟程式崩潰時一模一樣,連字型顏色也是紅色,咋一看會真的以為程式報錯# 但traceback.format_exc()則是以字串的形式返回,但需要加上printtry:    print(a)  # a依舊沒有被定義except Exception as e:    print(traceback.format_exc())# 程式輸出結果如下‘‘‘Traceback (most recent call last):  File "F:/satori/python--traceback/異常處理.py", line 39, in <module>    print(a)  # a依舊沒有被定義NameError: name ‘a‘ is not defined‘‘‘# 雖然看起來和上面沒有區別,但後者是以字串返回的,沒有紅紅的字型。# 此外traceback.print_exc()還可以將錯誤資訊寫到檔案當中try:    print(a)  # a依舊沒有被定義except Exception as e:    traceback.print_exc(file=open(‘traceback.txt‘,‘w‘,encoding=‘utf-8‘))# 可以看到新出現了traceback.txt檔案,開啟檔案可以看到如下資訊‘‘‘Traceback (most recent call last):  File "F:/satori/python--traceback/異常處理.py", line 52, in <module>    print(a)  # a依舊沒有被定義NameError: name ‘a‘ is not defined‘‘‘

 

python--traceback模組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.