Let’s see how we can apply Joshua Bloch’s Effective Java in the Kotlin world. Today’s topic is Exceptions.
Item 69: Use exceptions only for exceptional conditions
There is nothing special in Kotlin about this item.
Item 70: Use checked exceptions for recoverable conditions and runtime exceptions for programming errors
There is no checked exception in Kotlin, but we can use the @Throws annotation to support Java interoperability, and the same idea should still be followed.
Item 71: Avoid unnecessary use of checked exceptions
Same as Item 70.
Item 72: Favor the use of standard exceptions
There is nothing special in Kotlin about this item.
Item 73: Throw exceptions appropriate to the abstraction
There is nothing special in Kotlin about this item.
Item 74: Document all exceptions thrown by each method
In Kotlin, we can use the @throws tag to document exceptions, and the @Throws annotation to support Java interoperability.
Item 75: Include failure-capture information in detail messages
There is nothing special in Kotlin about this item.
Item 76: Strive for failure atomicity
There is nothing special in Kotlin about this item.
Item 77: Don’t ignore exceptions
In Kotlin, because there is no checked exception, we can easily letting exceptions propagating if we don’t want to do anything.