2015-04-20 28 views
0

Nashorn Javascript引擎(Java 8的一部分)报告了一些例外情况,关于像arity或类型不匹配这样的方法绑定错误,作为NativeTypeError - 实例,它不具有cause关系以获取任何异常,因此对我来说非常不透明(我想尽可能多地报告给脚本用户)。Nashorn Javascript:NativeTypeError

是否有记录的方法从NativeTypeError获取根本原因或更多信息?

回答

0

回答我自己的问题:在ECMAScript标准(ECMA-262, sec. 15.11.7)中描述了NativeTypeError的语义。 NativeTypeError的实例公开了message,它是Object类型的公共字段,但对于我遇到过的所有情况,最有可能是String

1

ECMAScript标准只在像类型错误,等等的ReferenceError Error对象定义名称和消息属性

犀牛定义了某些扩展特性,例如“LINENUMBER”,“得到columnnumber”,“文件名”(用于源极,其中的例外是抛出)和“堆栈”来访问堆栈跟踪。此外,通过Error.prototype扩展支持“printStackTrace”,“getStackTrace”功能。

参见:

https://wiki.openjdk.java.net/display/Nashorn/Nashorn+extensions#Nashornextensions-ExtensionsofErrorobjects,Error.prototypeandErrorconstructor