해결된 질문
작성
·
320
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 를 사용해서 처리하는 예제도 들어갈듯 합니다.