Skip to content

Comment on What's New in Kotlin 2.0.0

Comments

Does the compiler catch calls to throwing functions from non-throwing functions yet?

That’s been a huge problem for us: Some lib/func 16 layers deep throws an exception and it’s wrapped in a non-throwing function so the higher-level caller has no idea the call can generate an exception and runtime crash the whole app.

No, and it won't. Checked exceptions were explicitly removed compared to Java, and most people view them as a mistake (including the Java 8+ ecosystem e.g. streams).

Try is a bit better and Kotlin has a bit of that with Result + runCatching. You can find a pretty good overview of the Kotlin error handling phylosphy here [1]

[1] https://github.com/Kotlin/KEEP/blob/master/proposals/stdlib/...

Also, Arrow.kt is worth mentioning for functional error handling.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.