[HeadFirst] Kotlin Exception

timothy jeong·2021년 10월 29일
0

코틀린

목록 보기
11/20

Exception 은 runtime 중에 발생한 예외적인 상황(exceptional situations) 에 대한 경고이다.

try/catch & finally

Java 에서 쓰던 그대로 try/catch 를 쓸 수 있다. 그리고 역시 finally 도 쓸 수 있다.

finally 는 try 가 성공하든 실패하든 무조건 작동하며, try, catch에 return 이 있고, return 이 동작하는 상황에서조차도 finally 는 작동한다. return 이 되기 전에 fianlly block 을 실행하고 그 뒤에 return 을 시행한다.

예외 발생 시키기

원하는 예외를 발생시킬 수 있다.


fun setNumber(num: Int) {
    if (num < 100) {
        throw IllegalArgumentException("The number should Bigger than 100")
    }
    // more code
}        

try & throw as a expression

try 구문과 throw 구문은 expression 으로 사용할 수 있다.

val result = try { str.toInt() } catch (e : Exception) { null}

val thro = someClass?.property ?: throw SomeException()

throw 를 표현식(expression) 으로 쓸 수 있다는 건 throw 가 type 을 갖고 있다는 뜻이다. throw 는 Nothing 이라는 특이한 type 을 갖고 있는데, 이 type 은 어떤 값도 가질 수 없다. Nothing? 은 null 을 가질 수 있긴 하다.

profile
개발자

0개의 댓글