con*_*ile 1 html javascript java gwt jsni
当我使用GWT JSNI时,我的JSNI JavaScript代码中可能存在错误,如下所示:
try {
...
} catch(error) {
console.log(error);
}
Run Code Online (Sandbox Code Playgroud)
如何在GWT日志记录系统中或使用GWT uncaughtException跟踪此错误?
在JSNI方法抛出的异常被暴露在Java代码为JavaScriptException小号,你可以很容易地包裹陷入JS对象的JavaScriptException,如果你需要给它需要一个异常(如GWT的API GWT.log).
try {
…
} catch (e) {
var ex = @com.google.gwt.core.client.JavaScriptException::new(Ljava/lang/Object;)(e);
@com.google.gwt.core.client.GWT::log(Ljava/lang/String;Ljava/lang/Throwable;)("Error doing …", ex);
}
Run Code Online (Sandbox Code Playgroud)
在GWT 2.6.1+中,您可以使用JsonLogRecordClientUtil.throwableAsJson(e)将任何异常转换为String,例如将其发送到您的服务器或显示它.
在GWT 2.6.0+中,您可以用来GWT.reportUncaughtException向UncaughtExceptionHandlerif 报告任何异常,或者向浏览器报告:
try {
…
} catch (e) {
var ex = @com.google.gwt.core.client.JavaScriptException::new(Ljava/lang/Object;)(e);
@com.google.gwt.core.client.GWT::reportUncaughtException(Ljava/lang/Throwable;)(ex);
}
Run Code Online (Sandbox Code Playgroud)
也就是说,在大多数情况下,您不需要这样:只需让异常在JSNI方法之外传播并捕获JavaScriptExceptionJava-land.
| 归档时间: |
|
| 查看次数: |
426 次 |
| 最近记录: |