This visual trace shows how Kotlin coroutines handle cancellation using CancellationException. When a coroutine is cancelled, it throws CancellationException internally to stop execution. This exception is special and does not count as a failure unless caught. The example code launches a coroutine that delays for 100ms, but it is cancelled before delay ends. The coroutine throws CancellationException and stops. The main coroutine waits for cancellation to complete using job.join() before printing "Done". Variables track the coroutine state changes from active to cancelling to cancelled. Key moments clarify why the coroutine stops without explicit exception handling and why join() is important. The quiz tests understanding of when exceptions occur, state changes, and effects of removing join().