Rhino Javascript: NativeTypeError
Nashorn Javascript: NativeTypeError
Nashorn Java脚本引擎(Java 8 的一部分)报告了一些异常,尤其是。关于方法绑定错误,如元数或类型不匹配,作为 NativeTypeError
-实例,它没有 cause
关系来获得任何异常,因此对我来说非常不透明(我想报告为尽可能多地返回给脚本用户)。
是否有记录的方法从 NativeTypeError
实例中获取根本原因或更多信息?
回答我自己的问题:ECMAScript 标准 (ECMA-262, sec. 15.11.7) 中描述了 NativeTypeError
的语义。 NativeTypeError
的实例公开了一个 public 字段 message
,其类型为 Object
,但在我遇到的所有情况下很可能是 String
。
ECMAScript 标准只定义了 TypeError、ReferenceError 等错误对象的名称和消息属性。
Nashorn 定义了某些扩展属性,例如 "lineNumber"、"columnNumber"、"fileName"(针对引发异常的来源)和 "stack" 以访问堆栈跟踪。 "printStackTrace"、"getStackTrace" 函数也通过 Error.prototype 扩展支持。
另请参阅:
Nashorn Java脚本引擎(Java 8 的一部分)报告了一些异常,尤其是。关于方法绑定错误,如元数或类型不匹配,作为 NativeTypeError
-实例,它没有 cause
关系来获得任何异常,因此对我来说非常不透明(我想报告为尽可能多地返回给脚本用户)。
是否有记录的方法从 NativeTypeError
实例中获取根本原因或更多信息?
回答我自己的问题:ECMAScript 标准 (ECMA-262, sec. 15.11.7) 中描述了 NativeTypeError
的语义。 NativeTypeError
的实例公开了一个 public 字段 message
,其类型为 Object
,但在我遇到的所有情况下很可能是 String
。
ECMAScript 标准只定义了 TypeError、ReferenceError 等错误对象的名称和消息属性。
Nashorn 定义了某些扩展属性,例如 "lineNumber"、"columnNumber"、"fileName"(针对引发异常的来源)和 "stack" 以访问堆栈跟踪。 "printStackTrace"、"getStackTrace" 函数也通过 Error.prototype 扩展支持。
另请参阅: