Conceptual Kotlin for Java Survivors: Life After Semicolons
Part 9: "Errors Without Checked Exceptions" — Failure Modelling, Annotations and Reflection
The Java pricing team can't catch an IOException that Kotlin throws. We cover Kotlin's answer to checked exceptions: @Throws for Java callers, try as an expression, require/check/error, Result and runCatching (and their traps), sealed error types, the Experimental unused-return-value checker, annotation use-site targets under the Kotlin 2.4 defaults, and reflection basics.