Flowable.just(getSize())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.onExceptionResumeNext { Flowable.just(10) }
.onErrorResumeNext(Flowable.just(10))
.doOnError { throwable -> Logger.log("caught in doOnError") }
.subscribe({ size -> showSizeOnUi(size) },
{ throwable -> Logger.log("caught in onError") })
Функция getSize () вызовет исключение NullPointer.
private fun getSize(): Int {
val path: String? = null
return path!!.length // attempts to call length on null string (path)
}
Насколько я знаю, если getSize () выдает какое-либо исключение, тогда должен быть передан элемент управления onExceptionResumeNext, который затем вернет'10', и это значение должно идти в onNext () "{size -> showSizeOnUi (size)}" .Но в этом случае приложение просто вылетает.Могу ли я предотвратить этот сбой с помощью любого резервного механизма?
Спасибо.