2015-04-20 50 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