Size: a a a

Kotlin Community

2020 May 13

АП

Артур Половинкин... in Kotlin Community
Подскажите пожалуйста где брать задания на практику по Kotlin? Не особо сложные.
источник

AN

Alexander Nozik in Kotlin Community
Артур Половинкин
Подскажите пожалуйста где брать задания на практику по Kotlin? Не особо сложные.
hyperskill
источник

АП

Артур Половинкин... in Kotlin Community
Alexander Nozik
hyperskill
Там по Kotlin не особо много, но спасибо!
источник

D

Denys in Kotlin Community
Артур Половинкин
Там по Kotlin не особо много, но спасибо!
Там есть несколько проектов. Маленькие задачки можно брать на kotlin koans или на всяких сайтах вроде exercism.io
источник

D

Dmitry in Kotlin Community
Спрошу ка еще раз - как в корутинах выделить делегацию обработки ошибок? Чтобы на каждый запрос не писать трай-кетч, если ошибка сети - показать экран, если пользователь не авторизован - отправить на логин и т.п.
Наверно на уровне базового скоупа что-то надо сделать, чтобы если чилдрен падает с таким то исключением - остановить прокидывание ошибок и показать сообщение.
источник

D

Dmitry in Kotlin Community
Наверняка многие сталкивались. Знаете ли примеры на посмотреть?
Ну и я конечно могу асинком задачи запускать, а могу ланчем. Т.е. работать должно в обоих случаях.
источник

VP

Vladimir Petrakovich in Kotlin Community
Dmitry
Спрошу ка еще раз - как в корутинах выделить делегацию обработки ошибок? Чтобы на каждый запрос не писать трай-кетч, если ошибка сети - показать экран, если пользователь не авторизован - отправить на логин и т.п.
Наверно на уровне базового скоупа что-то надо сделать, чтобы если чилдрен падает с таким то исключением - остановить прокидывание ошибок и показать сообщение.
источник

D

Dmitry in Kotlin Community
The coroutine had already completed with the corresponding exception when the handler is called
В моем случае я хочу на уровне парента говорить ему, чтобы не умирал, если такие ошибки у детей. Т.е. если сетевой запрос отвалился - надо показать нет сети, а не убивать экран.
источник

D

Dmitry in Kotlin Community
И делать это надо на уровне экрана, потому что на уровне сетевого запроса нельзя будет ошибку показать, сетевой уровень про экраны то ничего не знает...
источник

D

Dmitry in Kotlin Community
Пример бы...
источник

VP

Vladimir Petrakovich in Kotlin Community
Dmitry
The coroutine had already completed with the corresponding exception when the handler is called
В моем случае я хочу на уровне парента говорить ему, чтобы не умирал, если такие ошибки у детей. Т.е. если сетевой запрос отвалился - надо показать нет сети, а не убивать экран.
Там ниже пример с супервизором, который не падает вместе с детьми
источник

N

Nikaragua in Kotlin Community
Артур Половинкин
Подскажите пожалуйста где брать задания на практику по Kotlin? Не особо сложные.
В idea плагин есть с задачками, edu че то там
источник

IO

Iaroslav Orlov in Kotlin Community
Nikaragua
В idea плагин есть с задачками, edu че то там
насколько я знаю, он по сути является фронтендом для koans/hyperskill
источник

N

Nikaragua in Kotlin Community
Ну там есть че то есть из курсов, плохо помню
источник

D

Dmitry in Kotlin Community
Vladimir Petrakovich
Там ниже пример с супервизором, который не падает вместе с детьми
Да, но мне надо отлавливать конкретные эксепшены, а не игнорировать все. С остальными он должен падать.
источник

D

Dmitry in Kotlin Community
Почитаю еще раз, но каждый раз в голове каша остается.
Особенно учитывая, что поведение у асинк и ланч еще разное..
источник

VP

Vladimir Petrakovich in Kotlin Community
Dmitry
Почитаю еще раз, но каждый раз в голове каша остается.
Особенно учитывая, что поведение у асинк и ланч еще разное..
Можно пойти другим путём - создать функцию вроде такой и оборачивать в неё все операции, ошибки которых надо обработать:
suspend fun <R> withErrorHandling(block: suspend () -> R): R {
   try {
       return block()
   } catch (e: FooException) {
       ...
   } catch (e: BarException) {
       ...
   }
}
источник

D

Dmitry in Kotlin Community
Да, я тоже думаю, что свой ланч можно сделать. Но просто странно, что не могу найти примернов, казалось бы такая задача встречается примерно в 100% приложениях, которые используют сеть..
источник

D

Dmitry in Kotlin Community
И не используют эвентбас, чтобы из сетевого слоя кидать ошибки на экраны -)
источник

AK

Anton Korotkikh in Kotlin Community
кто-нибудь пилил котлин нейтив в васм? суть вопроса понять, что происходит, после сборки появляется рядом с wasm файлом какая-то огромная js портянка *.wasm.js  из объектов набитых вызовами в духе Konan_js_allocateArena итд. зачем он это делает, чому нельзя просто скомпилять один wasm файл? для вызова WebAssembly.instantiate второй параметра - объекта с импортами вообще не обяазетлен, но кт-натив хочет его тащить каждый раз, даже для хелловорлда
источник