반응형
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 |