当前位置:  开发笔记 > 编程语言 > 正文

Dagger不喜欢抛出异常的构造函数

如何解决《Dagger不喜欢抛出异常的构造函数》经验,为你挑选了1个好方法。

我正在尝试在我的Android应用程序中使用Dagger来简化依赖注入.看起来Dagger 2.0不支持抛出异常的构造函数.这个问题有方法解决吗?

重构和创建抛出异常的init方法似乎不可行,因为必须在整个依赖对象链上调用init重新引入了匕首解决的问题.



1> 小智..:

生成代码在构造函数期间抛出异常时应该发生什么并不清楚.是否需要依赖于此类实例的类以某种方式捕获异常?如果抛出异常,应用程序是否应该崩溃?通常,依赖注入试图将依赖类与知道其依赖关系的构造策略分开,这将违反该原则.

一种选择是使用@Module@Provides实例(一个或多个).然后,如果抛出异常,该@Provides方法可以返回合理的默认值.您还可以考虑使用Optional<>以指示无法正确构造对象.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有