2010-07-01 41 views

回答

1

如果inspect工作作为IronPython的(不是很确定)项下的预期是,这可能做的伎俩:

import inspect 

filename, linenum, funcname = inspect.getframeinfo(inspect.currentframe())[:3] 
print linenum 

编辑:另一种解决方案:

import sys 

frame = sys._getframe() 
print frame.f_lineno 
+0

我不能这样做,当我'进口检查'我得到一个C#异常'没有名为检查模块'。 还有别的办法吗? – LoudNPossiblyWrong 2010-07-01 19:55:51

+0

增加了一个替代解决方案 – ChristopheD 2010-07-01 20:07:11

+0

,但没有工作,但谢谢你的努力,这似乎是一个irionpython限制 – LoudNPossiblyWrong 2010-07-01 21:08:13

0

尚未在尝试这样做ironpython but:

import traceback 

try: 
    # something that raises exception 
except YourException, _: 
    traceback.print_exc() 

这应该显示引发异常的地方的堆栈跟踪。你也可以做其他的事情,而不仅仅是打印,比如打印到字符串,或者获取堆栈帧。 traceback模块文档会告诉你更多。