개발/코틀린

(코틀린) 예외처리

DinoDev 2022. 9. 25. 15:51
728x90
반응형

코드가 동작하는 중간에 Exception이 발생해서 프로그램이 강제종료 되는 케이스가 발생합니다.

이런 경우 예외처리(Exception Handling)을 통해서 강제종료 되지 않고 에러를 처리 할 수 있도록 합니다.

예외 던지기

예외를 던지기 위해서는 throw 키워드를 사용합니다.

fun parseIntNumber(s: String): Int {
    var num = 0

    if (s.length !in 1..31) {
        throw NumberFormatException("Not a number: $s")
    }

    for (c in s) {
        if (c !in '0'..'1') {
            throw NumberFormatException("Not a number: $s")
        }
        num = num * 2 + (c - '0')
    }
    return num
}

예외 처리

예외를 처리하기 위해서 try-catch-finally 키워드를 사용합니다.

fun main() {
    try {
        parseIntNumber("안녕")
    } catch (e: NumberFormatException) {
        e.printStackTrace()
    } catch (e: Exception) {
        e.printStackTrace()
    } finally {
        // try나 catch를 타고 마지막으로 finally가 동작합니다.
    }
}

 

728x90
반응형

'개발 > 코틀린' 카테고리의 다른 글

(코틀린) 함수형 프로그래밍  (0) 2022.10.10
(코틀린) 클래스  (0) 2022.10.03
(코틀린) 조건문, 반복문  (0) 2022.09.25
(코틀린) 함수  (0) 2022.09.24
(코틀린) 코틀린 기초  (0) 2022.09.18