Blog

Your dream job? Lets Git IT.
Interactive technical interview preparation platform designed for modern developers.

XGitHub

Platform

  • Categories

Resources

  • Blog
  • About the app
  • FAQ
  • Feedback

Legal

  • Privacy Policy
  • Terms of Service

© 2025 LetsGit.IT. All rights reserved.

LetsGit.IT/Categories/Kotlin
Kotlinhard

Coroutine exceptions: how do they propagate and when to use `CoroutineExceptionHandler`?

Tags
#kotlin#coroutines#exceptions#supervisor
Back to categoryPractice quiz

Answer

In structured concurrency, a failing child coroutine typically cancels its parent (unless you use `SupervisorJob`). In `launch`, an uncaught exception goes to the parent/handler; in `async`, the exception is kept until you `await()`. Use `try/catch` for local handling; use `CoroutineExceptionHandler` mainly for top-level `launch` to log/translate crashes.

Related questions

Kotlin
coroutineScope vs supervisorScope: how do they handle failures?
#kotlin#coroutines#supervisor
Kotlin
StateFlow vs SharedFlow: what’s the difference?
#kotlin#stateflow#sharedflow
Kotlin
What does `typealias` do and what doesn’t it do?
#kotlin#typealias#types
Kotlin
Operator overloading: what does `operator` enable and what’s a caveat?
#kotlin#operator#overloading
Kotlin
Delegated properties (`by`): what problem do they solve?
#kotlin#delegation#properties
Kotlin
List vs MutableList in Kotlin: what’s the difference?
#kotlin#collections#immutability