,如果它返回TCL_ERROR,錯誤消息可以從Tcl_GetStringResult(interp)
檢索。但是,在執行一堆tcl腳本時,錯誤消息並不表示腳本失敗。Tcl_Eval返回調用棧當使用Tcl的C++ API <strong>Tcl_Eval</strong>當錯誤
如:
can't find package foobar
while executing
"package require foobar"
(file "./test.tn" line 5)
Tcl_GetStringResult(interp)
沒有提供這樣的信息:(file "./test.tn" line 5)
。有沒有像在tcl解釋器中一樣打印調用堆棧的方法,以便我知道腳本失敗了哪一行?
可以'Tcl_GetErrorLine'是你在找什麼? –
@Tony:這隻會從上面的消息中返回'5'(好吧,也許;這是非常依賴於上下文的)。 –