2010-07-01 54 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模塊文檔會告訴你更多。