본문 바로가기

코틀린

Nothing 타입

반응형

Nothing  타입은 실행 흐름이 도달할 수 없는 구역을 나타내기 위한 특수 타입이다.

fun throwing(): Nothing = throw Exception()

fun main(){
   val i:Int = throwing()
}
fun validate(num: Int)

{

    val result: Int = if (num >= 0) num else throw Exception("num이 음수입니다.")

}

if 블록이 Int 타입, else 블록이 Nothing 타입이면, if-else는 Int 타입을 따라간다.

if 블록이 Int 타입, else 블록이 Unit 타입이므로 서로 호환되지않아 if-else 표현식으로 사용할 수 없다.

따라서 Nothing 타입은 throw를 표현식으로 쓸 수 있게 하기 위한 장치이다.

 

반응형

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

코루틴 1탄  (0) 2020.12.08
Kotlin에서 Unit 과 Nothing  (0) 2020.04.21
코틀린에서 Sequence와 SAM  (0) 2020.04.14
멤버 함수의 중위 표기법 (Infix Notation)  (0) 2020.02.16
in 연산자  (0) 2020.02.16