如何使用RxJava 2处理错误异常?

问题描述 投票:1回答:1

我有UserDoesNotHaveApiKey异常,代码如下:

public class UserDoesNotHaveApiKeyException extends Exception {}

现在在Splash屏幕上,我会检查用户是否有API密钥,我想在onError中打开UserDoesNotHaveApiException并打开登录屏幕。

enter image description here

正如你可以在onError里面我有if语句,它总是转到其他地方,即使很明显我有一个正确的异常。

为什么?

android exception rx-java rx-java2
1个回答
1
投票

长话短说,RuntimeException与其他异常不同。

你可以抛出一个异常,它的一个适当的现有子类(除了RuntimeException及其未选中的子类),或者Exception的自定义子类。

在Java中,有两种类型的异常 - 已检查和未经检查的异常。以下是摘要:

  • 选中 - 扩展java.lang.Exception,获取可恢复的条件,显式尝试捕获异常,编译错误。
  • 未选中 - 扩展java.lang.RuntimeException,用于不可恢复的条件,如编程错误,不需要try-catch,运行时错误。
© www.soinside.com 2019 - 2024. All rights reserved.