[kotlin] 여러 예외를 던지거나 처리하는 방법

Kotlin은 Java와 마찬가지로 여러 예외를 처리하는 기능을 제공합니다. 이 기능을 사용하여 여러 예외 유형을 던지고 처리할 수 있습니다.

여러 예외 던지기

여러 예외를 한꺼번에 던지고 싶을 때는 throw 키워드와 함께 try 블록을 사용할 수 있습니다. 아래는 when 식을 사용하여 여러 예외를 던지는 예제입니다.

fun foo(i: Int) {
    val result = try {
        when (i) {
            1 -> throw IllegalArgumentException("i is 1")
            2 -> throw IllegalStateException("i is 2")
            else -> "No exception"
        }
    } catch (e: Exception) {
        "Caught exception $e"
    }
    println(result)
}

fun main() {
    foo(1)
    foo(2)
    foo(3)
}

여러 예외 처리하기

여러 예외를 처리할 때는 catch 블록을 여러 개 사용하여 각 예외 유형에 대한 처리를 지정할 수 있습니다. 아래는 여러 예외를 처리하는 예제입니다.

fun bar(i: Int) {
    try {
        when (i) {
            1 -> throw IllegalArgumentException("i is 1")
            2 -> throw IllegalStateException("i is 2")
            else -> println("No exception")
        }
    } catch (e: IllegalArgumentException) {
        println("Caught IllegalArgumentException: $e")
    } catch (e: IllegalStateException) {
        println("Caught IllegalStateException: $e")
    } catch (e: Exception) {
        println("Caught exception: $e")
    }
}

fun main() {
    bar(1)
    bar(2)
    bar(3)
}

이렇게 하면 각 catch 블록에서 각각의 예외 유형에 대한 처리를 구체적으로 지정할 수 있습니다.

더 자세한 내용은 Kotlin 공식 문서를 참조하세요.

이렇듯 Kotlin에서는 간편하게 여러 예외를 처리할 수 있습니다.