![](/img/trans.png)
[英]GWT compilation problem The constructor StackTraceElement(String, String, String, int) is undefined
[英]no line numbers in StackTraceElement
我添加了一個帶有以下代碼的UncaughtExceptionHandler:
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);
}
});
問題是只有每個StackTraceElement的函數名有效。 所有其他信息都是默認的,例如,行號為-1,類名未知。
我想知道我做錯了什么?
在GWT應用程序執行期間,此信息可能無法使用。 檢查核心StackTraceElement.java
類,方法toString()
。 只有在> = 0時才打印出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)
...
不是真正的解決方案,但至少你並不孤單:)。
嘗試在模塊文件中設置它
<set-property name="compiler.stackMode" value="emulated" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.