KeyFlow LogoKEYLOW
KeyFlow Logo
HomeTrendingSeries
Tools & Info
Tools & AppsAbout
Your Account
Reading History
@keyflow OfficialFeedback Discord
BETA v2v2026.10.15
Kotlin flow의 예외 처리(catch), 재시도(retry, retryWhen) 살펴보기 | Taehwan kwon (theo) | KeyFlow
KeyFlow LogoKEYLOW
BETA v2v2026.10.15

Kotlin flow의 예외 처리(catch), 재시도(retry, retryWhen) 살펴보기

Taehwan kwon (theo)Taehwan kwon (theo)
Published over 3 years ago
Updated 8 months ago
6 min read

StateFlow나 SharedFlow가 예외 발생 시 영구적으로 멈추는 문제를 방지하고, 지속 가능한 데이터 스트림을 설계하는 실전 비법을 확인하세요.

·catch는 예외를 처리하지만 스트림을 종료시키는 반면, retry/retryWhen은 조건을 만족할 때 스트림을 재생성하여 지속성을 확보한다.
·MutableStateFlow는 마지막 값을 Replay하는 특성 때문에 retryWhen 사용 시 무한 루프에 빠질 수 있으므로, 필터링이나 값 초기화와 같은 방어 코드가 필수적이다.
·flatMapLatest 등 연산자가 중첩된 구조에서는 예외 처리 로직을 중앙 집중화하여 복잡도를 낮추고 의도치 않은 중복 실행을 방지해야 한다.
Next: Android에서 flow를 통한 실시간 데이터 갱신에 대한 정리

Series · Part 11/14

Kotlin Coroutines

All parts

Series · Part 11/14

Kotlin Coroutines

Previous PartCallback으로 전달받은 데이터를 Coroutines의 Channel로 처리해보자.Next PartAndroid에서 flow를 통한 실시간 데이터 갱신에 대한 정리
All parts
Taehwan kwon (theo)

Taehwan kwon (theo)

@taehwandev

[안녕하세요, 태환입니다] 글쓰기 플랫폼 KeyFlow의 운영과 개발을 총괄하고 있는 태환입니다. 사용자가 생각에 집중할 수 있는 환경을 만들기 위해 플랫폼인 키플로우 전체의 기획부터 배포, 관리를 리딩하고 있습니다.

[경험 및 전문성]

  • KeyFlow Management: 서비스의 전반적인 운영을 책임지고 있습니다.
  • Mobile Engineering: 안드로이드와 iOS 플랫폼 모두에서 안정적이고 매끄러운 사용자 경험을 구현합니다. 기기의 특성에 최적화된 에디터와 기능을 개발하는 데 강점이 있습니다.
  • Openness & Stability: 플랫폼의 개방성을 확대하면서도, 시스템의 안정성을 놓치지 않는 균형 잡힌 개발 철학을 추구합니다.

[목표] 단순한 기능 구현을 넘어, 전 세계 사용자가 언어의 장벽 없이 소통할 수 있는 글로벌 플랫폼으로 KeyFlow를 성장시키는 것이 저의 목표입니다.

기술 스택 요약 (Tech Summary)

  • Mobile: Android (Kotlin/Java), iOS (Swift)
  • Highlight: GitHub Gist Integration, AI Language Detection, Cross-platform Optimization
kotlin
data class User(  val name: String = "taehwan",  val bio: String = "Android, iOS",  val nickName: String = "Theo",)