Смущен названием?Позвольте мне объяснить: я выполняю скрипт python внутри процесса .NET (моим приложением C # является хост) с использованием IronPython:
ScriptEngine python = Python.CreateEngine();
ScriptSource pyFromFileSource = python.CreateScriptSourceFromString(script);
CompiledCode pyFromFileCode = pyFromFileSource.Compile();
ScriptRuntime runtime = engine.Runtime;
ScriptScope scope = runtime.CreateScope(); //get a scope where we put in the stuff from the host
scope.SetVariable("lab", this); //allow usage of this class in the script
script.Execute(scope);
Приведенный выше код выполняется в фоновом потоке (используяTask
класс).Сценарий содержит ошибку, из-за которой всплывает IronPython.Runtime.Exceptionis.TypeErrorException
.Я могу поймать это и получить сообщение.
Но как получить строку сценария или номер строки, которая вызывает исключение?