Estoy empezando a toparme con los pequeños y sucios secretos de lo que es un entorno de scripts JSR223 muy útil.manejo razonable de ScriptException lanzado por JSR223 Rhino
Estoy utilizando la versión integrada de Rhino enviada con Java 6 SE, accediendo a ella a través de ScriptingEngine
de JSR223 y otros.
Cuando llego a una excepción causada por un objeto Java que he exportado en el medio ambiente Javascript, que es una ScriptingException
que envuelve un sun.org.mozilla.javascript.internal.WrappedException
que envuelve mi verdadera excepción (por ejemplo UnsupportedOperationException
o lo que sea)
Los ScriptingException
devuelva null para getFileName() y -1 para getLineNumber(). Pero cuando miro el mensaje y en el depurador, el WrappedException
tiene el nombre de archivo y número de línea correctos, simplemente no lo está publicando a través de los métodos getter de ScriptingException.
Genial. ¿Ahora qué hago? No sé cómo voy a usar sun.org.mozilla.javascript.internal.wrappedException que no es una clase pública de todos modos.