Details
-
Bug
-
Status: Open
-
Resolution: Unresolved
-
1.7
-
None
-
None
-
Operating System: Mac OS X 10.4
Platform: All
Description
I have a block of Javascript code that does something like:
try {
//reference some undeclared variable
} catch (e) {}
This causes Rhino to generate an EcmaError, which it then tries to wrap in a Java object. However the RhinoClassShutter prevents accessing all rhino classes (for good reason) including the EcmaError class, thereby negating the usefulness of try/catch.
Perhaps the RhinoClassShutter should allow exception/error classes to be referenced/instantiated even if they are in the org.mozilla.javascript package. The only work around (other than making sure the Javascript never generates an EcmaError) seems to be to replace RhinoInterpreterFactory with your own, just to override the RhinoClassShutter, which has some more quirks if you are using the batik jars (which also install the RhinoInterpreterFactory).
Access to Java class "org.mozilla.javascript.EcmaError" is prohibited. (Inline <script> http://....:-1#4)
at org.apache.batik.transcoder.SVGAbstractTranscoder$SVGAbstractTranscoderUserAgent.displayError(SVGAbstractTranscoder.java:863)
at org.apache.batik.bridge.BaseScriptingEnvironment.handleInterpreterException(BaseScriptingEnvironment.java:694)
at org.apache.batik.bridge.BaseScriptingEnvironment.loadScripts(BaseScriptingEnvironment.java:522)
at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:214)
at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:92)
at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142)
at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156)