[Kotlin] 5-10. 익셉션

익셉션

익셉션 클래스

익셉션 객체를 던지려면, throw식을 사용한다

throw MyException("Hi there")

익셉션을 잡으려면 try식을 사용한다

try {
  // 어떤 코드
}
catch(e: someException) {
  // 익셉션 처리
}
finally {
  // 선택적인 finally 블록
}

catch블록은 없거나 여러 개 올 수 있다. finally 블록은 생략할 수 있다. 하지만, 최소 한 개의 catch 블록이나 finally 블록은 존재해야 한다

throw 식의 타입은 특수 타입인 Nothing 이다. 이 타입은 값을 갖지 않으면 도달할 수 없는 코드를 표시하는 용도로 사용한다. 코드에서 리턴하지 않는 함수를 표시 할 때 Nothing을 사용할 수 있다

fun fail(message: String): Nothing {
  throw IllegalArgumentException(message)
}