ScriptEngine.SetTrace()を使用していますが、例外が発生したときにTracebackDelegateの「payload」変数に含まれているタプルをどのように使用するのでしょうか。例外のメッセージ、メソッド名、行番号、ファイル名などを取得したいのですが。最後の3つはframe.f_codeとframe.f_linenoから取得できましたが、他の情報はペイロードタプルオブジェクトに含まれているようで、抽出方法がわかりません。
質問する
371 次
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 に答える