Обработка исключений JavaScript в Java
Обработка исключений JavaScript в Java
Если код JavaScript, вызванный из Java, терпит неудачу на этапе прогона, он вызывает исключение. Если Вы вызываете JavaScript-код из Java, Вы можете отловить это исключение в блоке операторов try...catch. Исключение JavaScript доступно Вашему Java-коду как экземпляр netscape.javascript.JSException.
JSException это Java-оболочка вокруг исключения любого типа, вызванного JavaScript, аналогично тому, как JSObject-экземпляры являются оболочками для JavaScript-объектов.
Используйте JSException при вычислении JavaScript-кода в Java. Если JavaScript-код не вычисляется из-за ошибки компиляции JavaScript или какой-нибудь другой ошибки времени выполнения, интерпретатор JavaScript генерирует сообщение об ошибке, которое конвертируется в JSException-экземпляр.
Например, Вы можете использовать try...catch для обработки исключений LiveConnect:
try {
global.eval("foo.bar = 999;");
} catch (Exception e) {
if (e instanceof JSException) {
jsCodeFailed()";
} else {
otherCodeFailed();
}
}
Здесь оператор eval терпит неудачу, если foo не определено. Блок catch выполняет метод jsCodeFailed, если оператор eval в блоке try вызывает JSException; метод otherCodeFailed выполняется, если блок try вызывает какую-нибудь другую ошибку.