aboutsummaryrefslogtreecommitdiff
path: root/reactive/kotlinx-coroutines-rx2/test/Check.kt
diff options
context:
space:
mode:
Diffstat (limited to 'reactive/kotlinx-coroutines-rx2/test/Check.kt')
-rw-r--r--reactive/kotlinx-coroutines-rx2/test/Check.kt11
1 files changed, 11 insertions, 0 deletions
diff --git a/reactive/kotlinx-coroutines-rx2/test/Check.kt b/reactive/kotlinx-coroutines-rx2/test/Check.kt
index 29eda6fa..beb2c43a 100644
--- a/reactive/kotlinx-coroutines-rx2/test/Check.kt
+++ b/reactive/kotlinx-coroutines-rx2/test/Check.kt
@@ -5,6 +5,8 @@
package kotlinx.coroutines.rx2
import io.reactivex.*
+import io.reactivex.functions.Consumer
+import io.reactivex.plugins.*
fun <T> checkSingleValue(
observable: Observable<T>,
@@ -64,3 +66,12 @@ fun checkErroneous(
}
}
+inline fun withExceptionHandler(noinline handler: (Throwable) -> Unit, block: () -> Unit) {
+ val original = RxJavaPlugins.getErrorHandler()
+ RxJavaPlugins.setErrorHandler { handler(it) }
+ try {
+ block()
+ } finally {
+ RxJavaPlugins.setErrorHandler(original)
+ }
+} \ No newline at end of file