给定以下使用JSInterop定义的简单 Java 类:
@JsType(name = "ExceptionTest", namespace = JsPackage.GLOBAL)
public class ExceptionTest {
public static void triggerTypeErrorWhenNull(Object object) {
object.toString();
}
}
在 JavaScript 中调用如下:
setTimeout(function timerTrigger() {
function test1() {
ExceptionTest.triggerTypeErrorWhenNull(null);
}
test1();
}, 100);
发生异常时会发出以下堆栈跟踪:
Uncaught TypeError: Cannot read property 'toString' of null
at toString_0 (local-0.js:76)
at Function.triggerTypeErrorWhenNull (local-0.js:1319)
我的问题是如何获取发生错误的完整堆栈跟踪;test1()
这是一个堆栈跟踪,包括在 JavaScript ( )中调用 JSInterop 方法的位置。
这里是项目的链接以及示例的完整源代码:ExceptionTest.java