• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

kotlin.run

21.01.04 14:38 작성 조회수 201

0

강의 감사하게 잘 보고있습니다 !

질문이있습니다.


age?.let {

...

}?: kotlin.run {

}

에서 kotlin.run 은 
일반 스코프함수의 run 과 다른건가요??? 

그리고 뭔가 try catch 문의 catch문처럼 사용되어지고있는것같은데, try catch문과의 차이점이 무엇인가요? 

답변 1

답변을 작성해보세요.

2

일반 run 함수와 같습니다. 다만 확실하게 kotlin.run 함수라고 명시적으로 사용이 된 것이구요, 정확하게는 intellij 자동완성에 의해서 작성되었습니다 ^^;;

앞에 kotlin. 을 지우고 run만 쓰셔도 동일하게 사용됩니다.

try , catch의 경우 예외를 catch에서 잡아 주지면 위처럼 ?.let, ?:run 에서는 잡히지 않습니다. 위에서는 age가 null 인경우 run 함수에서 처리 하기 위해서 사용되어졌습니다.

후에 예외처리는 runCatching 를 사용해서 처리하는 예제도 들어갈듯 합니다.