Главная · Каталог задач · Kotlin и корутины

Готовый сценарий

Kotlin и корутины

Корутина Kotlin должна завершаться вместе со своей задачей, а отмена не должна превращаться в обычную ошибку. Вставьте код запуска и обработки исключений: нейросеть поможет разобрать границы scope и Job. Она не запускает приложение и не видит его жизненный цикл.

Попробуйте прямо здесь Отвечает Gemma 3 12B — модель подобрал сервис

Открыть в полном чате

  • Доступ без VPN
  • Русский интерфейс
  • Оплата рублями по факту

Зачем

Зачем это нужно

01

Проверьте, не подавляет ли общий catch сигнал отмены

02

Свяжите время жизни Job с владельцем выполняемой задачи

03

Разделите ошибки дочерней корутины и нормальную отмену работы

Вопросы

Частые вопросы

Как попросить разобрать отмену корутины Kotlin?

Разбери Kotlin с kotlinx.coroutines: suspend fun work(){try{delay(1000)}catch(e:Exception){println("ошибка")}}. Объясни, почему обработчик перехватывает отмену. Покажи вариант с передачей CancellationException дальше и предложи тест отмены Job до завершения delay. Отдели общие корутины от Android lifecycle, не добавляй Android API без запроса и не выполняй код.

Что указать о scope перед разбором корутин?

Передайте версии Kotlin и kotlinx.coroutines, место создания scope и код запуска. Для Android укажите владельца жизненного цикла отдельно. Удалите секреты из логов. Сначала разберите родителя и дочернюю задачу, затем способ обработки отказа.

Что проверить при отмене во время delay?

В локальном тесте запустите Job, отмените его до завершения задержки и дождитесь окончания. Проверьте отсутствие общего сообщения «ошибка» при отмене и сообщений об успешном выполнении после delay. Отдельно проверьте передачу CancellationException на границе вызывающего suspend-кода: один только признак Job.isCancelled не доказывает, что исключение было передано дальше. Если используется виртуальное время тестовой библиотеки, явно укажите это в тесте.

Останавливает ли cancel любой вычислительный цикл?

Отмена корутин кооперативная. Длительный цикл без точек приостановки или проверок активности может продолжать работу. Модель должна учитывать тело задачи; замена scope сама по себе не добавляет проверки отмены.

Рядом

Дальше — весь каталог задач: поиск по названию, темы и фильтры.

Нужно больше

Весь Енотик — в одном окне

Полный чат: история, вложения, базы знаний, картинки и видео. Один баланс на все модели, оплата рублями по факту.