Uncaught Throw генерируется JLink или UseFrontEnd

В этом примере подпрограмма генерирует два предупреждающих сообщения Throw :: nocatch в окне ядра. С ними можно как-то обращаться?

Пример состоит из этого кода в файле «test.m», созданном в C: \ Temp:

Needs["JLink`"];
$FrontEndLaunchCommand = "Mathematica.exe";
UseFrontEnd[NotebookWrite[CreateDocument[], "Testing"]];

Затем эти команды вставляются и запускаются в командной строке Windows:

PATH = C:\Program Files\Wolfram Research\Mathematica\8.0\;%PATH%
start MathKernel -noprompt -initfile "C:\Temp\test.m"

добавление

Причина использования UseFrontEnd в отличие от UsingFrontEnd заключается в том, что может потребоваться интерактивный интерфейс для сохранения вывода и сообщений из записных книжек, которые обычно выполняются в интерактивном режиме. Например, с C: \ Temp \ test.m, измененным так:

Needs["JLink`"];
$FrontEndLaunchCommand="Mathematica.exe";
UseFrontEnd[
nb = NotebookOpen["C:\\Temp\\run.nb"];
SelectionMove[nb, Next, Cell];
SelectionEvaluate[nb];
];
Pause[10];
CloseFrontEnd[];

и записная книжка C: \ Temp \ run.nb, созданная с одной ячейкой, содержащей:

x1 = 0; While[x1 < 1000000,
 If[Mod[x1, 100000] == 0,
  Print["x1=" <> ToString[x1]]]; x1++];
NotebookSave[EvaluationNotebook[]];
NotebookClose[EvaluationNotebook[]];

этот код, запускаемый из командной строки Windows, будет работать в интерактивном режиме и сохранять результаты. Этого невозможно достичь с помощью сценария UsingFrontEnd или MathKernel-C "\ Temp \ test.m".

Ответы на вопрос(1)

Ваш ответ на вопрос