1 min readJun 16, 2020
Indeed. Kotlin static type system catches many bugs at compile-time, yet not all kinds of logic error can be pragmatically handled at compile-time (`OutOfMemoryError` is a good example, but all the index-of-out-bounds kinds of errors fall to this category, too), hence the need to use exceptions to indicate them.