KeyFlow LogoKEYLOW
KeyFlow Logo
HomeTrendingSeries
Tools & Info
Tools & AppsAbout
Your Account
Reading History
@keyflow OfficialFeedback Discord
BETA v2v2026.07.15
Kotlin flow์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ(catch), ์žฌ์‹œ๋„(retry, retryWhen) ์‚ดํŽด๋ณด๊ธฐ | Taehwan kwon (theo) | KeyFlow
KeyFlow LogoKEYLOW
BETA v2v2026.07.15

Kotlin flow์˜ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ(catch), ์žฌ์‹œ๋„(retry, retryWhen) ์‚ดํŽด๋ณด๊ธฐ

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

StateFlow๋‚˜ SharedFlow๊ฐ€ ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์˜๊ตฌ์ ์œผ๋กœ ๋ฉˆ์ถ”๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ , ์ง€์† ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์„ ์„ค๊ณ„ํ•˜๋Š” ์‹ค์ „ ๋น„๋ฒ•์„ ํ™•์ธํ•˜์„ธ์š”.

ยทcatch๋Š” ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€๋งŒ ์ŠคํŠธ๋ฆผ์„ ์ข…๋ฃŒ์‹œํ‚ค๋Š” ๋ฐ˜๋ฉด, retry/retryWhen์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ ์ŠคํŠธ๋ฆผ์„ ์žฌ์ƒ์„ฑํ•˜์—ฌ ์ง€์†์„ฑ์„ ํ™•๋ณดํ•œ๋‹ค.
ยทMutableStateFlow๋Š” ๋งˆ์ง€๋ง‰ ๊ฐ’์„ Replayํ•˜๋Š” ํŠน์„ฑ ๋•Œ๋ฌธ์— retryWhen ์‚ฌ์šฉ ์‹œ ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํ•„ํ„ฐ๋ง์ด๋‚˜ ๊ฐ’ ์ดˆ๊ธฐํ™”์™€ ๊ฐ™์€ ๋ฐฉ์–ด ์ฝ”๋“œ๊ฐ€ ํ•„์ˆ˜์ ์ด๋‹ค.
ยทflatMapLatest ๋“ฑ ์—ฐ์‚ฐ์ž๊ฐ€ ์ค‘์ฒฉ๋œ ๊ตฌ์กฐ์—์„œ๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋กœ์ง์„ ์ค‘์•™ ์ง‘์ค‘ํ™”ํ•˜์—ฌ ๋ณต์žก๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ์˜๋„์น˜ ์•Š์€ ์ค‘๋ณต ์‹คํ–‰์„ ๋ฐฉ์ง€ํ•ด์•ผ ํ•œ๋‹ค.
SeriesPart 11 of 14

Kotlin Coroutines

View All
Previous
Callback์œผ๋กœ ์ „๋‹ฌ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ Coroutines์˜ Channel๋กœ ์ฒ˜๋ฆฌํ•ด๋ณด์ž.
Next
Android์—์„œ flow๋ฅผ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ฐฑ์‹ ์— ๋Œ€ํ•œ ์ •๋ฆฌ
2026 Google I/O Extended - GDG Korea Android
Promotion

2026 Google I/O Extended - GDG Korea Android

์ตœ์‹  Android ํŠธ๋ Œ๋“œ ๊ธฐ์ˆ  ์„ธ์…˜๋ถ€ํ„ฐ ๋œจ๊ฑฐ์šด ๊ฐœ๋ฐœ์ž ๋„คํŠธ์›Œํ‚น๊นŒ์ง€, ์ง€๊ธˆ ํ‹ฐ์ผ“ํƒ€์ฝ”์—์„œ ์‹ ์ฒญํ•˜์„ธ์š”!

by @taehwandev
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",)
Next: Android์—์„œ flow๋ฅผ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ฐฑ์‹ ์— ๋Œ€ํ•œ ์ •๋ฆฌ