본문 바로가기
스터디/Kotlin

Kotlin 예외처리(2) - check(), checkNotNull()

by zoodi 2025. 1. 13.
728x90

목차

     

     

     

    1. check()

    • check()
      • 매개변수의 값이 참인지 체크
      • 거짓이라면 throwIllegalStateException 예외를 반환합니다.

    *IllegalStateException

    -일반적으로 IllegalStateException은 메소드를 호출할 상태(State)가 아닐 때 발생시키는 exception이다.

     

    예시코드

    fun connect(isConnected: Boolean) {
        //적용 전
        if (isConnected) {
            throw IllegalStateException("이미 연결되어있습니다.")
        }
     
     
        //적용 후
        check(!isConnected) {"이미 연결되어있습니다."}
    }

     

    2. checkNotNull()

    • checkotNull()
      • 매개변수의 값이 null 이 아니면 value를 반환
      • null 이면 throw IllegalStateException을 반환합니다.

    예시코드

    class Test {
        var  connectedState: String? = null
     
        fun connect( ) {
            //적용 전
            val state = if (connectedState == null) {
                throw IllegalStateException("State is null")
            } else {
                ...
            }
     
     
            //적용 후
            val state2 = checkNotNUll(connectedState)
     
        ...do something...
    }

     

    3. require() 과 check() 비교

      require() check()
    exception 메소드의 구문이 false 일 때 IllegalArgumentException 발생 메소드의 구문이 false 일 때 IllegalStateException 발생
    null check requireNotNUll 로 null check 를 한다. checkNotNull 로 null check 를 한다.
    제한 argument 제한 state 와 관련된 동작 제한

     

     

    4. 참고자료

    https://seosh817.tistory.com/155#google_vignette

     

    728x90

    댓글