首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果没有“retrolambda”语法,我该如何编写?

如果没有“retrolambda”语法,我该如何编写?
EN

Stack Overflow用户
提问于 2016-01-09 17:57:37
回答 1查看 127关注 0票数 1

我对Java有100%的新认识,我正在尝试将Crashlytics添加到我的Reactive原住民项目中。我能在互联网上找到的唯一的代码片段是retrolambda语法。

我意识到我可以添加特定的“库”或者其他什么,所以它可以工作,但是考虑到它是我的项目中唯一使用的地方,我宁愿把它转换成‘旧格式’,而不是仅仅为了完成一个函数而添加一个库。

代码语言:javascript
复制
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);
      }
    });
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-09 18:11:21

在您的语法中,我找到了以下两个链接:

  1. 反应
  2. NativeModuleCallExceptionHandler

通过使用这些,它应该如下所示:(未经测试)

代码语言:javascript
复制
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);
            }
        }
    });
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34696949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档