How should `CancellationException` be treated in a coroutine's catch block, and what does this code risk?launch { try { doSuspendingWork() } catch (e: Exception) { log("failed: $e") // no rethrow } }