1. 程式人生 > >判斷異常型別,全面捕獲Python的異常

判斷異常型別,全面捕獲Python的異常

正文:
    如果你在寫程式時遇到異常後想進行如下處理的話請參考我下面寫的對異常處理的方法:

假設有下面的一段程式:
try:
    語句1
    語句2
    .
    語句N
except .........:
    print .......

    但是你並不知道“語句1至語句N”在執行會出什麼樣的異常,但你還要做異常處理,且想把出現的異常打印出來,並不停止程式的執行,
所以在“except ......”這句應怎樣來寫呢?

至少3個方法:

方法一:捕獲所有異常
--------------------------------------------------------------------------------
code:

try:
    a=b
    b=c
except Exception,ex:
    print Exception,":",ex
--------------------------------------------------------------------------------

方法二:採用traceback模組檢視異常
--------------------------------------------------------------------------------
code:

import traceback
try:
    a=b
    b=c
except:
    traceback.print_exc()

----------------------------------------------------------------------------
方法三:採用sys模組回溯最後的異常
----------------------------------------------------------------------------
code:

import sys
try:
    a=b
    b=c
except:
    info=sys.exc_info()
    print info[0],":",info[1]

--------------------------------------------------------------------------------

但是,如果你還想把這些異常儲存到一個日誌檔案中,來分析這些異常,那麼請看下面的方法:
把 traceback.print_exc() 列印在螢幕上的資訊儲存到一個文字檔案中
code:

try:
    a=b
    b=c
except:
    f=open("c:\\log.txt",'a')
    traceback.print_exc(file=f)
    f.flush()
    f.close()

(全文完)

相關推薦

判斷異常型別全面捕獲Python異常

正文:     如果你在寫程式時遇到異常後想進行如下處理的話請參考我下面寫的對異常處理的方法: 假設有下面的一段程式: try:     語句1     語句2     .     語句N except .........:     print ....

python程式設計_Python異常機制try: 程式碼段 except 異常型別,e: 異常處理程式碼段如果不知道異常型別可以使用try: 程式碼段 except Except,e:異常處理程式碼段;Ex

一個Python異常例項 一個簡單的異常例子,開啟一個不存在的檔案,引發異常: #!/usr/local/bin/python3.2 try: f = open("file-not-exists", "r") except IOError,e:

java的兩種異常型別以及區別。

java中有兩種異常,受檢查的異常以及不受檢查的異常。 不受檢查的異常不需要在方法或者建構函式上宣告,就算方法或者建構函式的宣告可能會丟擲這樣的異常。 受檢查的異常必須要用throws丟擲異

js判斷檔案型別圖片、視訊等格式

功能說明:js實現判斷檔案型別,圖片‘視訊等格式,當不符合格式時,會自動清除,並重新選擇。’ 1.、圖片、視訊等格式判斷,直接上程式碼 <script type="text/javascript">//1、這個函式是,判斷圖片格式-----------------------

Java 原碼、反碼、補碼自定義的異常手動丟擲異常

1.byte 型佔一個位元組,正數按原碼儲存,負數按補碼儲存。第一位為符號符,“0”表示正數,“1”表示負數。 0000 0000表示 0 ,1000 0000 表示 -0,由於byte表示的範圍為256,+0,-0對應補碼都為0000000,所以補碼10000000沒有所為

JVM解惑:消失的異常堆疊log中列印異常堆疊為空

正常郵件是這樣的: 生產環境拋異常,但卻沒有將堆疊資訊輸出到日誌,確認列印日誌方法正確logger.error("somthing error", ex),發現這個日誌捕捉了NullPointerException,但是沒有異常堆疊資訊,只有java.lang.

python異常如何全面捕獲

    如果你在寫程式時遇到異常後想進行如下處理的話請參考我下面寫的對異常處理的方法:假設有下面的一段程式:try:    語句1    語句2    .    語句Nexcept .........:    print .......    但是你並不知道“語句1至語句N

python自定義異常使用raise引發異常

value init tom 輸入 mar pri Coding pre lis 1.自定義異常類,自定義的異常類必須是Exception或者Error的子類! 1 #!/usr/bin/env python 2 # encoding: utf-8 3 4 cl

Python 異常啟動啟動debug調試

upload 異常處理 attr 修改 err bug ice spa 處理流 這裏需要修改python在異常發生後的處理流程 sys.excepthook 是python系統的異常處理器,重寫一個自定義處理器,並在打印異常信息後,啟動pdb。 import

Python Cookbook(第3版)中文版:14.10 重新拋出被捕獲異常

get link www. HR http erl span 鏈接 中文版 14.10 重新拋出被捕獲的異常? 問題? 你在一個 except 塊中捕獲了一個異常,現在想重新拋出它。 解決方案? 簡單的使用一個單獨的 rasie 語句即可,例如: >>&

擴展Exception增加判斷Exception是否為SQL引用約束異常方法!

order add exception 回調 amp padding 分享 pre clas 在設計數據表時,如果將某些列設置為關聯其它表的外鍵,那麽如果對其進行增加、修改操作時,其關聯表若沒有相匹配的記錄則報錯,或者在對其關聯表進行刪除時,也會報錯,這就是外鍵約束的作用,

使用 Go 語言開發大型 MMORPG 遊戲服務器怎麽樣?(非常穩定、捕獲所有異常、非常適合從頭開始但大公司已經有現成的C++框架、所以不會使用)

hive 有效 筆記 序列 優勢 nal 授權 登陸 RR 使用 Go 語言開發大型 MMORPG 遊戲服務器怎麽樣?和C Socket服務器比起來有什麽優劣?可行性怎麽樣? 從2013年起,經朋友推薦開始用Golang編寫遊戲登陸服務器, 配合C++做第三方平臺

捕獲promise異常不能用onerror

最近在用axios在vue裡做非同步請求,遇到了難題,我在axios裡丟擲異常後,想在一個地方統一捕獲異常,不想用catch方法,因為用catch的話,每個方法後面都要加,而我想要做的是把出現的異常都用彈窗的形式彈出來。 於是開始用 window.onerror = function(

python - 使用traceback模組獲取詳細的異常資訊

知道是報了這個錯,但是卻不知道在哪個檔案哪個函式哪一行報的錯。 下面使用traceback模組 import traceback 異常資訊模組 try: 1/0 except Exception,e: print(traceback.print_exc())

python異常處理斷言和反射

pyc python 存在 ase module 定義 sat gif 機制 1、異常基礎 python在運行過程中,程序解釋機制會測試代碼,如檢測不通過則會拋出異常。 try: aa = 10 bb = ‘10‘ cc = aa

python異常處理斷言

一,異常和錯誤 part1:程式中難免出現錯誤,而錯誤分成兩種 1.語法錯誤(這種錯誤,根本過不了python直譯器的語法檢測,必須在程式執行前就改正) #語法錯誤示範一 if #語法錯誤示範二 def test: pass #語法錯誤

一篇搞定所有的python異常沒有十年的功底做得到?

一:加小編QQ群:865597862獲取Python視訊教程以及各類PDF! 異常即是一個事件,該事件會在程式執行過程中發生,影響了程式的正常執行。 一般情況下,在python無法正常處理程式時就會發生一個異常(異常是python物件,表示一個錯誤) 異常就是程式執行時候發生錯誤的

Python常見異常型別

什麼是異常? 異常即是一個事件,該事件會在程式執行過程中發生,影響了程式的正常執行。一般情況下,在Python無法正常處理程式時就會發生一個異常。異常Python物件,表示一個錯誤。當Python指令碼發生異常時我們需要捕獲處理它,否則程式會終止執行。 異常處理的語句 1.try...except

Python異常型別

  python標準異常異常名稱 描述BaseException 所有異常的基類SystemExit 直譯器請求退出 KeyboardInterrupt 使用者中斷執行(通常是輸入^C) Exception 常規錯誤的基類StopIteration 迭代器沒有更多的值GeneratorEx