Exception Handling Using ExceptionHandler in Coroutines
·
Study/Kotlin
이번에는 CoroutineExceptionHandler로 예외 처리를 해보도록 하자. 기존 try-catch 구문과는 어떤 차이가 있는지도 볼 예정이다. 처리할 코드val scope = CoroutineScope(Job())scope.launch { throw RuntimeException()}Thread.sleep(1000) CoroutineExceptionHandler 사용 지점이 핸들러는 Coroutine의 Context 요소이다. 이전 글에서의 기억을 떠올려본다면 가장 대표적인 Context 요소는 Dispatcher일 것이다. 또한, '+' 연산자를 사용하면 여러 Context 요소를 사용할 수 있다. 그럼 위 코드에서 어떤 위치에 핸들러를 주입해야할까? 정답은 두 위치에서 가능한데, 하나는 J..
Exception Handling Using try-catch Clause in Coroutines
·
Study/Kotlin
이번 글은 코루틴에서 try-catch절을 사용해 예외 처리를 해보는 시간이 될 것이다. 일반적인 예외 처리 상기하기fun main() { generateException()}fun generateException() { throw RuntimeException()}이런 예외를 try-catch절로 처리한 상황과 그렇지 않은 상황을 떠올려보자. 먼저 예외 처리를 해두었다면 프로그램이 정상적으로 실행이 종료된다. 그렇지 않은 경우 로그를 남기며 프로그램에 크래시가 발생한다. 코루틴에 적용해보기fun main() { val scope = CoroutineScope(Job()) scope.launch { generateException() } Thread.sleep(100)}fu..
럭스:시적해상도(Lux: Poetic Resolution) in DDP
·
주저리주저리/전시회
벌써 1년반이 다 되어가는 시점에 다녀온 전시회를 이제서야 돌아보고 있다. 뜬금없이 무슨 전시회?그냥 집에서 인스타 피드를 슥슥 내리다보니 신기한 영상이 있었다. 누군가 걸어가는데 모습이 계속 바뀌는 게 아닌가. 근데 그냥 그 모습을 보다보니 영상이 끝나버렸다. 멍하니 보다 영상이 끝나버리니 상당히 아쉬웠다. 알고보니 전시회 홍보 영상이었고, 그럼 비슷하게 디지털 멍하기 좋은 영상들이 더 많겠다는 생각이 들었다. 반차내고 평일에 가는 판단그래서 정말 충동적으로 인터파크에서 온라인 예매를 했다. 딱히 입장 날짜가 정해진 티켓은 아니었고 기간 내 언제든 입장가능한 티켓이었다. 언제 가볼까 생각하다 금요일 오후 반차를 내고 가면 어떨까 생각하게 되었다. 먼저 결과를 얘기하면 이 판단은 매우 좋았다. 일단 사람..