Programming/Kotlin

코틀린(Kotlin) - 예외 처리

JunsuKim 2021. 9. 19.
728x90

Kotlin에서 예외 처리하는 방법은 Java와 비슷하다. 예외 처리하는 방법에는 두 가지가 있다.

throw로 예외를 던지는 방식과, try, catch로 예외를 잡아서 처리하는 방식이다.

throw

예외를 던질 때 throw 키워드를 사용한다. 이 때 발생한 예외를 잡아주지 않으면 함수를 호출 스택을 거슬러 올라가 예외를 처리해주는 부분까지 다시 예외를 던진다.

- Java달리 Kotlin에서는 throw가 식으로 쓰여 다른 식에 포함될 수 있다.

fun main() {
    var n = 10
    if(n !in 0..5) {
        throw IllegalArgumentException("A percentage value must be between 0 and 5: $percentage")
    }
    else println(n)
}

여기서 Java와 다른 점은 new를 사용하지 않고 예외 인스턴스를 생성하는 것이다.

try, catch, finally

try, catch는 발생한 예외를 직접 잡아 처리하고 싶을 때 사용한다.

방법은 Java와 동일하다. try{} 안에서 예외가 발생하면 catch에서 에러를 처리한다.

finally는 예외가 발생했든 말든 실행된다.

fun readNumber(reader: BufferReader): Int? {
    try {
        val line = reader.ReadLine()
        return Integer.paseInt(line)
    }
    catch (e: NumberFormatException) {
        return null;
    }
    finally {
        reader.close()
    }
}

이는 각 줄을 읽어 수로 변환하는데 올바른 수의 형태가 아니라면 null을 반환한다.

728x90

댓글