<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    海上月明

    editer by sun
    posts - 162, comments - 51, trackbacks - 0, articles - 8
       :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

    traceback 的處理

    Posted on 2008-03-07 18:01 pts 閱讀(1258) 評論(0)  編輯  收藏 所屬分類: Python

    traceback 的處理

    from::Limodou的學習記錄

    trackback在 Python 中非常有用,它可以顯示出現異常(Exception)時代碼執行棧的情況。 但當我們捕捉異常,一般是自已的出錯處理,因此代碼執行棧的信息就看不到了,如果還想顯 示的話,就要用到traceback模塊了。

    這里只是簡單的對traceback模塊的介紹,不是一個完整的說明,而且只是滿足我個人的要求, 更詳細的還是要看文檔。

    打印完整的traceback

    讓我們先看一個traceback的顯示:

    &gt;&gt;&gt; 1/0

    Traceback (most recent call last):
    File "", line 1, in -toplevel-
    1/0
    ZeroDivisionError: integer division or modulo by zero

    可以看出 Python 缺省顯示的traceback有一個頭:第一行,出錯詳細位置:第二、三行, 異常信息:第四行。也就是說分為三部分,而在traceback可以分別對這三部分進行處理。 不過我更關心完整的顯示。

    在traceback中提供了print_exc([limit[, file]])函數可以打印出與上面一樣的效果。 limit參數是限定代碼執行棧的條數,file參數可以將traceback信息輸出到文件對象中。缺省的話是輸出到錯誤輸出中。舉例:

    &gt;&gt;&gt; try:
    1/0
    except:
    traceback.print_exc()

    Traceback (most recent call last):
    File "", line 2, in ?
    ZeroDivisionError: integer division or modulo by zero

    當出現異常sys.exc_info()函數會返回與異常相關的信息。如:

    &gt;&gt;&gt; try:
    1/0
    except:
    sys.exc_info()

    (&lt;class exceptions.ZeroDivisionError at 0x00BF4CC0&gt;,
    &lt;exceptions.ZeroDivisionError instance at 0x00E29DC8&gt;,
    &lt;traceback object at 0x00E29DF0&gt;)

    sys.exc_info()返回一個tuple,異常類,異常實例,和traceback。

    print_exc()是直接輸出了,如果我們想得到它的內容,如何做?使用 format_exception(type, value, tb [,limit]),type, value, tb分別對應 sys.exc_info()對應的三個值。如:

    &gt;&gt;&gt; try:
    1/0
    except:
    type, value, tb = sys.exc_info()
    print traceback.format_exception(type, value, tb)

    ['Traceback (most recent call last):\n', ' File "", line 2, in ?\n',
    'ZeroDivisionError: integer division or modulo by zero\n']
    這樣,我們知道了format_exception返回一個字符串列表,這樣我們就可以將其應用到我們的程序中了。
    主站蜘蛛池模板: 一本到卡二卡三卡免费高| 国产亚洲视频在线观看网址| 成全视频在线观看免费| 亚洲精品人成无码中文毛片| 一级毛片在播放免费| 亚洲国产成人久久一区久久| 羞羞网站免费观看| 亚洲男人av香蕉爽爽爽爽| 免费毛片毛片网址| 国产成人综合亚洲亚洲国产第一页| 污污免费在线观看| 亚洲人成网站在线观看青青| h片在线观看免费| 精品亚洲一区二区| 久久久免费的精品| 亚洲国产精品xo在线观看| 手机看黄av免费网址| 亚洲乱码在线观看| 国产精品麻豆免费版| 精品亚洲福利一区二区| 亚洲熟妇少妇任你躁在线观看无码| 亚洲视频在线免费| 亚洲欧洲日产国产综合网| 男女免费观看在线爽爽爽视频 | 久久www免费人成看国产片| 亚洲中文字幕第一页在线| 久久免费国产视频| 亚洲精品综合在线影院| www国产亚洲精品久久久日本| 国产拍拍拍无码视频免费| 亚洲AV综合色区无码二区爱AV| 免费看的黄色大片| 国产在线观看免费av站| 亚洲春色在线观看| 免费日本黄色网址| 久久免费观看国产精品| 亚洲av无码专区在线观看下载| 国产亚洲一区区二区在线| 色片在线免费观看| 日韩在线观看免费| 亚洲白嫩在线观看|