我对Java有100%的新认识,我正在尝试将Crashlytics添加到我的Reactive原住民项目中。我能在互联网上找到的唯一的代码片段是retrolambda语法。
我意识到我可以添加特定的“库”或者其他什么,所以它可以工作,但是考虑到它是我的项目中唯一使用的地方,我宁愿把它转换成‘旧格式’,而不是仅仅为了完成一个函数而添加一个库。
public final class AppReactPackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
addExceptionHandler(reactContext);
}
private void addExceptionHandler(ReactApplicationContext reactContext) {
// Fyi, this is using Retrolambda for Java 8 syntax
reactContext.setNativeModuleCallExceptionHandler(e -> {
if (e instanceof JavascriptException) {
Crashlytics.log(e.getMessage());
} else {
Crashlytics.logException(e);
}
});
}
}发布于 2016-01-09 18:11:21
在您的语法中,我找到了以下两个链接:
通过使用这些,它应该如下所示:(未经测试)
private void addExceptionHandler(ReactApplicationContext reactContext) {
reactContext.setNativeModuleCallExceptionHandler(new NativeModuleCallExceptionHandler() {
@Override
public void onHandleException(Exception e) {
if (e instanceof JavascriptException) {
Crashlytics.log(e.getMessage());
} else {
Crashlytics.logException(e);
}
}
});
}https://stackoverflow.com/questions/34696949
复制相似问题