3 回答
TA贡献1155条经验 获得超0个赞
使用语句traceback.extract_stack()
给一个使用这个语句的实例:
//用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)
执行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贡献1735条经验 获得超5个赞
用traceback:
except Exception,e:
self.logger.error("encounter error in poll %s:"%(traceback.format_exc()))
TA贡献1786条经验 获得超11个赞
使用如下例:
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 *。注意暂时不支持import goto,不是不能实现,是暂时没时间写。
2.对需要使用goto的函数,前面加个@patch
3.用label(x)和goto(x)的形式写label和goto。x可以是数字或字符串。
goto模块的代码如下:
goto.py
添加回答
举报