개요

예외처리

코틀린에서 모든 Exception 클래스는 Throwable을 상속한다.

자바와 동일하게 trycatch로 exception 처리를 한다.

try {
    // some code
} catch (e: SomeException) {
    // handler
} finally {
    // optional finally block
}

try는 반환 값을 가질 수 있다.

val a: Int? = try { input.toInt() } catch (e: NumberFormatException) { null }

Checked Exception

코틀린에는 checked exception이 존재하지 않는다.

프로젝트의 규모가 커질 경우 생산성을 하락시키고, 코드 퀄리티가 낮아진다는 것이 그 이유이다.

상호 운용성을 위해 @Throws를 제공해 checked exception을 처리할 수 있도록 했다.