aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/org/pacien/tincapp/extensions/Java.kt
blob: e51e9db56cc3d0574f26cf1483c987221168fe36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package org.pacien.tincapp.extensions

import java8.util.concurrent.CompletableFuture

/**
 * @author pacien
 */
object Java {

  fun <T> CompletableFuture<T>.exceptionallyAccept(fn: (Throwable) -> Unit) = exceptionally { fn(it); null }!!

  fun <A, R> applyIgnoringException(f: (A) -> R, x: A, alt: R? = null) = try {
    f(x)
  } catch (_: Exception) {
    alt
  }

  fun Throwable.defaultMessage() = this.message ?: "null"

}