Nashorn Javascript引擎(Java 8的一部分)报告了一些例外情况,关于像arity或类型不匹配这样的方法绑定错误,作为NativeTypeError
- 实例,它不具有cause
关系以获取任何异常,因此对我来说非常不透明(我想尽可能多地报告给脚本用户)。Nashorn Javascript:NativeTypeError
是否有记录的方法从NativeTypeError
获取根本原因或更多信息?
Nashorn Javascript引擎(Java 8的一部分)报告了一些例外情况,关于像arity或类型不匹配这样的方法绑定错误,作为NativeTypeError
- 实例,它不具有cause
关系以获取任何异常,因此对我来说非常不透明(我想尽可能多地报告给脚本用户)。Nashorn Javascript:NativeTypeError
是否有记录的方法从NativeTypeError
获取根本原因或更多信息?
回答我自己的问题:在ECMAScript标准(ECMA-262, sec. 15.11.7)中描述了NativeTypeError
的语义。 NativeTypeError
的实例公开了message
,它是Object
类型的公共字段,但对于我遇到过的所有情况,最有可能是String
。
ECMAScript标准只在像类型错误,等等的ReferenceError Error对象定义名称和消息属性
犀牛定义了某些扩展特性,例如“LINENUMBER”,“得到columnnumber”,“文件名”(用于源极,其中的例外是抛出)和“堆栈”来访问堆栈跟踪。此外,通过Error.prototype扩展支持“printStackTrace”,“getStackTrace”功能。
参见: