io.reactivex.rxjava2:rxjava:2.1.13
kotlin_version = '1.2.30'
У меня есть следующая наблюдаемая, и я пытаюсь вызвать исключение, чтобы проверить захват исключения в OnError.Однако, когда я передаю следующее в onExceptionResumeNext(Observable.just(10))
, я получаю следующий вывод:
1
2
10
onComplete
fun main(args: Array<String>) {
Observable.fromArray(1, 2, 0, 4, 5, 6)
.doOnNext {
if (it == 0) {
throw RuntimeException("Exception on 0")
}
}
.onExceptionResumeNext(Observable.just(10))
.subscribe(
{
println(it)
},
{
println("onError ${it.message}")
},
{
println("onComplete")
} )
}
Однако, если я передаю лямбда-выражение этому методу, я получаю следующий вывод:
1
2
Observable.fromArray(1, 2, 0, 4, 5, 6)
.doOnNext {
if (it == 0) {
throw RuntimeException("Exception on 0")
}
}
.onExceptionResumeNext { Observable.just(10) }
.subscribe(
{
println(it)
},
{
println("onError ${it.message}")
},
{
println("onComplete")
} )
}
Просто интересно, в чем разница между этим onExceptionResumeNext(Observable.just(10))
и этим onExceptionResumeNext { Observable.just(10) }
Большое спасибо заранее