목록 보기
코틀린 코루틴 예외 처리, 어떻게 해야 할까?
백엔드

코틀린 코루틴 예외 처리, 어떻게 해야 할까?

카카오페이
카카오페이
2025년 1월 7일

두줄요약

코틀린 코루틴의 예외가 부모-자식 관계를 따라 전파되며 전체 취소로 이어지는 과정을 설명했습니다. 실무에서는 발생 지점 처리와 supervisorScope 같은 방법으로 전파 범위를 조절하는 방식이 필요합니다.

핵심 내용

  • 코틀린 코루틴에서 예외가 부모-자식 관계를 따라 전파되며 전체 계층 취소로 이어질 수 있는 동작 원리
  • 구조화된 동시성 관점에서 예외 전파와 취소의 영향 범위 분석
  • 예외 처리 방식별 적합성 비교와 실무 적용 가능성 검토

주의할 점

  • CoroutineExceptionHandler는 로깅 용도에 가깝고 전파 차단에는 한계
  • launch를 감싼 try-catch는 생성 시점 예외만 다루고 실행 중 예외는 막지 못함
  • Job으로 부모 관계를 끊으면 취소 범위는 줄지만 구조화된 동시성이 약화될 수 있음

적용해볼 점

  • 개별 코루틴 내부의 예외는 발생 지점에서 직접 처리
  • 독립적 실패 허용이 필요하면 supervisorScope 활용
  • SupervisorJob 적용 시에는 전체 스코프 구조와 전파 범위 점검

다음 읽기

#Kotlin 주제를 다룬 다른 회사 글

Spring Transactional Rollback Deep Dive

Spring @Transactional 의 롤백이 언제 마킹되는지 예외 타입과 프록시 동작을 기준으로 정리했습니다. Kotlin 과 REQUIRES_NEW 까지 포함해 실제 동작 차이와 주의점을 설명했습니다.

하이퍼커넥트
하이퍼커넥트
백엔드

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...