3 回答

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
使用語句traceback.extract_stack()
給一個(gè)使用這個(gè)語句的實(shí)例:
//用try..except捕獲異常,然后traceback.print_exc()打印
#!/usr/bin/python
import sys
import traceback
import test1
a=10
b=0
try:
print test1.division(a,b)
except:
print 'invoking division failed.'
traceback.print_exc()
sys.exit(1)
執(zhí)行test2.py失敗拋出異常。
$python test2.py
execution python-2.5.1/python (enodeb/linux)
b eq 0
invoking division failed.
Traceback (most recent call last):
File "test2.py", line 10, in <module>
test1.division(a,b)
File "/home/fesu/test1.py", line 6, in division
sys.exit(1)
SystemExit: 1

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
用traceback:
except Exception,e:
self.logger.error("encounter error in poll %s:"%(traceback.format_exc()))

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
使用如下例:
1 from goto import *
2 from
3 @patch
4 def f2():
5 goto(10)
6 print 'should not see this'
7 label(10)
8 for i in range(1,99999):
9 print i
10 if i == 5:
11 goto('out')
12 label('out')
13
14 f2()
用法是:
1. from goto import *。注意暫時(shí)不支持import goto,不是不能實(shí)現(xiàn),是暫時(shí)沒時(shí)間寫。
2.對需要使用goto的函數(shù),前面加個(gè)@patch
3.用label(x)和goto(x)的形式寫label和goto。x可以是數(shù)字或字符串。
goto模塊的代碼如下:
goto.py
添加回答
舉報(bào)