코틀린 예외처리

Koder·2023년 1월 14일
0

(require) 범위를 제한합니다.

require(num > 10){
	"num은 10보다 반드시 커야 합니다."
}
// java.lang.IllegalArgumentException: num은 10보다 반드시 커야 합니다.

(check) 상태와 관련된 예측을 검사할때 사용합니다.

check(false){
	"반드시 true여야만 합니다."
}
// java.lang.IllegalStateException: flag는 반드시 true여야만 합니다.

checkNotNull("apple"){
    "널이 아니어야만 합니다."
}
// java.lang.IllegalStateException: 널이 아니어야만 합니다.

(require/requireNotNull) 파라미터와 관련된 예측을 검사할떄 사용합니다.

require(false){
    "반드시 TRUE여아만 한다"
}
// java.lang.IllegalArgumentException: 반드시 TRUE여아만 한다

val text: String? = null
requireNotNull(text){
    "반드시 널이 아니어야 한다."
}
// java.lang.IllegalArgumentException: 반드시 널이 아니어야 한다.

require와 check가 거의 비슷하지만 require 뒤에 check가 사용됩니다.

가급적이면 Exception이 알려진 표준 오류를 사용하는것이 좋습니다.
새롭게 만들면 그것에 대한 추가 학습 인지가 필요하기 때문입니다.

profile
일단 적고 보자

0개의 댓글