= if(flag) f() else null
fun <A> bar(f: () ->A): A = foo(f).let { res -> if(res == null) throw Exception("shit happens) else res }
val res = bar<Int?> { null } //oops expected null but exception was thrown
Не понял, если ты бросаешь эксепшн, то с чего вдруг null?
Обсуждают сегодня