Gwt StackTraceElement中没有行号
我添加了一个UncaughtExceptionHandler,代码如下:Gwt StackTraceElement中没有行号,gwt,Gwt,我添加了一个UncaughtExceptionHandler,代码如下: GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler() { public void onUncaughtException(Throwable e) { StackTraceElement[] elements = e.getStackTrace(
GWT.setUncaughtExceptionHandler(new
GWT.UncaughtExceptionHandler() {
public void onUncaughtException(Throwable e) {
StackTraceElement[] elements = e.getStackTrace();
String stackTrace = "";
for (int i = 0; i < elements.length; i++)
{
stackTrace += elements[i] + "\n";
}
PlatformServices.instance().log().debug("caught unhandled exception: " + e + " ; Stack:\n" + stackTrace);
}
});
GWT.setUncaughtExceptionHandler(新)
GWT.UncaughtExceptionHandler(){
不可撤销的公共无效(可丢弃的e){
StackTraceElement[]元素=e.getStackTrace();
字符串stackTrace=“”;
for(int i=0;i
问题是只有每个StackTraceeElement的函数名有效。所有其他信息都是默认信息,例如行号为-1,类名为unknown
我想知道我是否做错了什么?尝试在模块文件中设置此选项
<set-property name="compiler.stackMode" value="emulated" />
此信息可能在GWT应用程序执行期间不可用。检查core
stackTraceeElement.java
类,方法toString()
。只有在大于等于零的情况下,lineNumber
的值才会打印出来。它也不是不可能是负面的
我使用UncaughtExceptionHandler
进行的测试给出了完全相同的结果(在运行时没有对行号的引用)。在模糊模式下编译时,我甚至无法获取文件名,因此输出如下所示:
com.google.gwt.core.client.JavaScriptException: (TypeError): Cannot read property 'g' of null
Unknown.iPb(Unknown Source)
Unknown.gPb(Unknown Source)
Unknown.npd(Unknown Source)
...
这不是一个真正的解决方案,但至少你并不孤单:)。谢谢你提供的信息!我不知道这个功能。