posts - 431,  comments - 344,  trackbacks - 0
          traceback模塊被用來跟蹤異常返回信息. 如下例所示:
          import traceback
          try:
              raise SyntaxError, "traceback test"
          except:
              traceback.print_exc()

          將會(huì)在控制臺輸出類似結(jié)果:
          Traceback (most recent call last):
            File "H:\PythonWorkSpace\Test\src\TracebackTest.py", line 3, in <module>
              raise SyntaxError, "traceback test"
          SyntaxError: traceback test

          類似在你沒有捕獲異常時(shí)候, 解釋器所返回的結(jié)果.
          你也可以傳入一個(gè)文件, 把返回信息寫到文件中去, 如下:
          import traceback
          import StringIO
          try:
              raise SyntaxError, "traceback test"
          except:
              fp = StringIO.StringIO()    #創(chuàng)建內(nèi)存文件對象
              traceback.print_exc(file=fp)
              message = fp.getvalue()
              print message

          這樣在控制臺輸出的結(jié)果和上面例子一樣
          traceback模塊還提供了extract_tb函數(shù)來格式化跟蹤返回信息, 得到包含錯(cuò)誤信息的列表, 如下:

          import traceback
          import sys

          def tracebacktest():
              raise SyntaxError, "traceback test"
          try:
              tracebacktest()
          except:
              info = sys.exc_info()
              for file, lineno, function, text in traceback.extract_tb(info[2]):
                  print file, "line:", lineno, "in", function
                  print text
              print "** %s: %s" % info[:2]

          控制臺輸出結(jié)果如下:
          H:\PythonWorkSpace\Test\src\TracebackTest.py line: 7 in <module>
          tracebacktest()
          H:\PythonWorkSpace\Test\src\TracebackTest.py line: 5 in tracebacktest
          raise SyntaxError, "traceback test"
          ** <type 'exceptions.SyntaxError'>: traceback test




          posted on 2009-06-17 21:37 周銳 閱讀(9119) 評論(0)  編輯  收藏 所屬分類: Python
          主站蜘蛛池模板: 新竹县| 历史| 荥阳市| 彩票| 曲松县| 扬中市| 遂昌县| 新兴县| 三穗县| 大竹县| 洱源县| 越西县| 甘孜县| 遵义市| 永安市| 巴林右旗| 汉寿县| 玉环县| 庆云县| 新乡市| 土默特左旗| 武乡县| 阿瓦提县| 托克逊县| 大英县| 巴里| 潞西市| 利川市| 且末县| 邵阳县| 通渭县| 胶南市| 五华县| 双柏县| 股票| 抚远县| 锡林郭勒盟| 金寨县| 闽清县| 缙云县| 阜城县|