1

我正在使用 ScriptEngine.SetTrace(),我想知道当发生异常时如何使用 TracebackDelegate“有效负载”变量中包含的元组?我想获取异常的消息、方法名称、行号、文件名等。我可以从 frame.f_code 和 frame.f_lineno 获得最后三个,但其他信息似乎包含在有效负载元组对象中,我不知道如何提取。

4

1 回答 1

1

没关系,我已经想通了:

PythonTuple tuple = (PythonTuple)payload;
string err = PythonType.Get__name__((PythonType)tuple[0]);
PythonExceptions.BaseException e = (PythonExceptions.BaseException)tuple[1];
TraceBack tb = (TraceBack)tuple[2];
Debug.WriteLine(err + " " + e.clsException.Message);
于 2012-07-13T00:10:09.023 回答