Size: a a a

Programming Offtop

2021 May 15

(

( in Programming Offtop
Ну, то есть будет что-то вроде Either<MyError, T>?
источник

VP

Vladimir Petrakovich in Programming Offtop
Как вариант, sealed с этими ошибками и Succes<T>
источник

KD

Konstantin Dovnar in Programming Offtop
В твоём кейсе — да.
@noraltavir бы вот без итера сделал.
источник

I

Ilmir in Programming Offtop
Так отличие гуглового кода от другого кода в том, что он не зависит от языка программирования. Будет один и тот же говнокод, что на джаве, что на плюсах, что на питоне, что на котлине. Никакого понятия об идиоматичности.
источник

KD

Konstantin Dovnar in Programming Offtop
Да, думаю примерно такой вариант и противопоставляют.
источник

VP

Vladimir Petrakovich in Programming Offtop
Ну такого я ещё не видел
источник

AN

Alexander Nozik in Programming Offtop
Я бы не стал заворачивать ошибку точно. Если это именно что исключительная ситуация, ошибка должна быть прокинута. Если это не исключительная ситуация, то надо прокидывать данные, а не ошибку.
источник

VP

Vladimir Petrakovich in Programming Offtop
Это что-то среднее между errno и CancellationToken из C#
источник

VP

Vladimir Petrakovich in Programming Offtop
Что для одного уровня исключительная ситуация, то для другого норма
источник

KD

Konstantin Dovnar in Programming Offtop
Так Either<Error, Success> и есть прокидывание данных, если Error у нас не Throwable.
источник

KD

Konstantin Dovnar in Programming Offtop
Ведь о том и речь, что Error тут у нас свой силд класс с ошибками.
источник

AN

Alexander Nozik in Programming Offtop
Ну значит ошибка должна быть перехвачена на том уровне, где ситуация перестала быть исключительной. Тут единственный вопрос про то, что "можно забыть", но решается на уровне аннотаций.
источник

KD

Konstantin Dovnar in Programming Offtop
object UserInputIsBullshit : Error
источник

VP

Vladimir Petrakovich in Programming Offtop
Каких аннотаций?
источник

AN

Alexander Nozik in Programming Offtop
@Throws. Он по-моему до сих пор не полностью функциональный, но можно закостылить при помощи @RequiresOptIn
источник

VP

Vladimir Petrakovich in Programming Offtop
Он не умеет ничего, кроме добавления метаданных в байткод
источник

VP

Vladimir Petrakovich in Programming Offtop
Не говоря уже о том, что это не идиоматично
источник

AN

Alexander Nozik in Programming Offtop
Ну я же говорю, что не работает. Не понятно, кстати почему. Тот же RequiresOptIn делает то же самое и отлично работает.
источник

AN

Alexander Nozik in Programming Offtop
Почему это?
источник

AN

Alexander Nozik in Programming Offtop
Это мета-информация, которая говорит, что ошибка должна быть обработана или прокинута выше. На семантику не влияет
источник