runCatching

suspend fun <T : Any> runCatching(errorMap: suspend (originalResultError: Result<T>) -> Result<T> = { it }, block: suspend () -> Result<T>): Result<T>