Size: a a a

Kotlin Community

2020 March 19

ΛO

Λrtem Ohanjanyan in Kotlin Community
Ну потому что иначе ты про сути делаешь свои исключения
источник

ΛO

Λrtem Ohanjanyan in Kotlin Community
И либо пишешь много бойлерплейта, либо начинаешь городить свою библиотеку для монад, ещё больше в это всё влезаешь, потом понимаешь, что где-то не очень хорошо продумал архитектуру, но твоя проблема уже расползлась по всему коду
источник

ΛO

Λrtem Ohanjanyan in Kotlin Community
Котлин довольно явно все это рекомендует не делать
источник

AL

Alexander Levin in Kotlin Community
Ну с такими ошибками точно процесс такой:

Проверьте, что вы на свежем Котлине.
Пишите ишью или лайкните существующие, если найдёте.
источник

AN

Alexander Nozik in Kotlin Community
В первый раз такое вижу не в идее...
источник

М

Максим in Kotlin Community
Λrtem Ohanjanyan
Если нужна обработка исключительных ситуаций, то не лучше
ошибка == исключительная ситуация? Если для JVM это исключение, которое не может быть обработано, то для нашей программы оно должно быть предусмотрено и обработано как вариант развития событий.
источник

ΛO

Λrtem Ohanjanyan in Kotlin Community
Максим
ошибка == исключительная ситуация? Если для JVM это исключение, которое не может быть обработано, то для нашей программы оно должно быть предусмотрено и обработано как вариант развития событий.
Не понял, что вы хотите мне сказать
источник

М

Максим in Kotlin Community
Λrtem Ohanjanyan
Не понял, что вы хотите мне сказать
"Если нужна обработка исключительных ситуаций, то не лучше" Вы обработали все исключительные ситуации и имеете текущее состояние, данных нет, они недоступны итд, зачем бросать далее собственный эксепшен если можно передать контейнер с нужными типами? Для нас это уже не исключительная ситуация, она предусмотрена и обработана.
источник

ΛO

Λrtem Ohanjanyan in Kotlin Community
Максим
"Если нужна обработка исключительных ситуаций, то не лучше" Вы обработали все исключительные ситуации и имеете текущее состояние, данных нет, они недоступны итд, зачем бросать далее собственный эксепшен если можно передать контейнер с нужными типами? Для нас это уже не исключительная ситуация, она предусмотрена и обработана.
Если обработали, то не надо ничего бросать, если частично обработали, но нужно пробросить выше, значит ещё не до конца обработали

Или я как-то неправильно понял это жонглирование терминами
источник

ΛO

Λrtem Ohanjanyan in Kotlin Community
Нет чёткого определения, по которому можно сказать, реализовывать ли те или иные ошибки через исключения
источник

VP

Vladimir Petrakovich in Kotlin Community
Потому что исключительность ситуации - вещь расплывчатая
источник

М

Максим in Kotlin Community
Λrtem Ohanjanyan
Если обработали, то не надо ничего бросать, если частично обработали, но нужно пробросить выше, значит ещё не до конца обработали

Или я как-то неправильно понял это жонглирование терминами
Имелось ввиду именно создание своих эксепшенов именно для "пробрасывания выше" именно в качестве "исключительных ситуаций"🤗
источник

ΛO

Λrtem Ohanjanyan in Kotlin Community
В общем, в моей практике почти все юзкейсы Either это обработка ошибок в таком же смысле, в котором ошибки обрабатывают исключениями. Если нужно их обработать в каком-то другом смысле, что бывает довольно редко, то часто имеет смысл написать свой тип данных с более конкретной семантикой.
источник

NY

Nikita Yatskivskiy in Kotlin Community
Ребят, а сравнение чисел с плавающей запятой в котлине чем-то отличается от java? Или equals отрабатывает аналогично джаве и следует так же прибегать к BigDecimal?
источник

VP

Vladimir Petrakovich in Kotlin Community
Nikita Yatskivskiy
Ребят, а сравнение чисел с плавающей запятой в котлине чем-то отличается от java? Или equals отрабатывает аналогично джаве и следует так же прибегать к BigDecimal?
В целом всё так же, но может быть разница там, где поведение сравнений отличается от equals и compareTo
источник

NY

Nikita Yatskivskiy in Kotlin Community
А можно пример для пободного исключения?
источник

VP

Vladimir Petrakovich in Kotlin Community
Nikita Yatskivskiy
А можно пример для пободного исключения?
Double.NaN == Double.NaN -> false
Double.NaN as Any == Double.NaN
-> true
источник

VP

Vladimir Petrakovich in Kotlin Community
В общем, сахарок может сбить с толку, надо помнить, что под капотом та же джава
источник

АО

Алексей Овсянников in Kotlin Community
Почитал обсуждение выше и вспомнил, что очень (со всей силушки прям) хочется sealed interface -.-
источник

M

Melodeiro in Kotlin Community
Как можно это на kotlin DSL перенести?

jvmJar {
   dependsOn(jsBrowserProductionWebpack)
   from(new File(jsBrowserProductionWebpack.entry.name, jsBrowserProductionWebpack.outputPath))
}
источник