使用java的javascript引擎评估脚本时获取错误行号

使用java的javascript引擎评估脚本时获取错误行号,java,javascript,exception,evaluation,Java,Javascript,Exception,Evaluation,如果java的javascript引擎运行的脚本中发生运行时错误,我可以很高兴地从异常中获取错误,重要的是获取行号 当加载一个级别I时,如果需要,对一个级别脚本进行初始化,这也会对各种事件(如果找到)可选使用的函数进行评估 但是,例如,如果在计算未运行时出现语法错误!一个函数,我得到这样的消息 [java] sun.org.mozilla.javascript.EvaluatorException: syntax error (<Unknown source>#1) in <U

如果java的javascript引擎运行的脚本中发生运行时错误,我可以很高兴地从异常中获取错误,重要的是获取行号

当加载一个级别I时,如果需要,对一个级别脚本进行初始化,这也会对各种事件(如果找到)可选使用的函数进行评估

但是,例如,如果在计算未运行时出现语法错误!一个函数,我得到这样的消息

[java] sun.org.mozilla.javascript.EvaluatorException: syntax error (<Unknown source>#1) in <Unknown source> at line number 1 at line 1,-1
即使函数中的错误晚于其第一行

如何获取脚本中发生错误的行和列号?

Owch

似乎我的xml解析器sax正在剥离回车符,但对其他空白的制表符表示满意-如图所示

我的工作是做

os.write((" script=\""+levelScript.replace("\n","&#xA;\n")+"\"").getBytes());
对于script属性,我在xA实体之后添加了\n,以使xml更具可读性

无论如何,如果你还没有意识到。。。脚本作为一个长行加载,因此所有错误都在第1行结束

请注意,我可以发誓我正在获取运行时错误的行号……

似乎我无法捕获sun.org.mozilla.javascript.EvaluatorException,也无法将ScriptException转换为sun.org.mozilla.javascript.EvaluatorException(如果有帮助的话)!