Как получить доступ к исключению Java, которое вызывает ScriptException, используя JSR-223 - PullRequest
7 голосов
/ 25 октября 2011

Я выполняю Javascripts, используя механизм сценариев JSR-223, встроенный в JRE6. Javascripts может получить доступ к коду и объектам Java. Когда исключение выдается из кода Java, который выполняется из JavaScript, ScriptEngine генерирует исключение ScriptException.

Я хочу получить доступ к исключению Java, которое вызвало исключение Javascript.

Из Javascript я могу поймать исключение и посмотреть на поле javaException исключения:

try
{
  .
}
catch (e)
{
  e.javaException.printStackTrace();
}

Однако у меня нет контроля над Javascript, только их выполнение из ScriptEngine. Есть ли способ получить «внутреннее» исключение Java из ScriptException?

Я полагаю, что если бы я использовал Rhino, у RhinoException было бы доступно исключение Java. Исключение RhinoException отсутствует в API JSR-223.

1 Ответ

0 голосов
/ 25 октября 2011

вы пробовали e.getCause()?

...