Size: a a a

Programming Offtop

2020 December 29

с#

саша сок #KotlinGang... in Programming Offtop
Andrew Mikhaylov
Как это? Там же есть сорс-мапы и дебаг из девтулов
я на IR, там нет этого и стектрейсов тоже нет ещё
источник

с#

саша сок #KotlinGang... in Programming Offtop
нормальных
источник

AM

Andrew Mikhaylov in Programming Offtop
саша сок #KotlinGang
я на IR, там нет этого и стектрейсов тоже нет ещё
Нихрена себе
источник

AM

Andrew Mikhaylov in Programming Offtop
Я тут в подкасте Happy Path Programming, в выпуске о котлине с Седриком Беустом интересную мысль касательно checked exceptions услышал. Они развивают мысль о том, что ошибкой были не checked exceptions целиком, а тот факт, что checked / unchecked прибито гвоздями к типу, а не к его применению. Мол, FileNotFoundException в ситуации, когда юзер может выбрать файл, логично иметь как checked, потому что исключительная ситуация тут вполне ожидаемая, и можно, к примеру, попросить юзера выбрать другой файл, а вот в момент чтения конфигов / ресурсов при запуске смысла ему быть checked нет, потому что recovery на деле невозможен.

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

Kd

Konstantin dmz9 in Programming Offtop
если exception = business logic "if" значит есть проблема с дизайном (системы)
источник

Kd

Konstantin dmz9 in Programming Offtop
то что юзер дцп и не увидел выбор файла - это тупо не исключение, это ожидаемая херня.
и на подлёте к рабочему коду это отсекает валидация.
другое дело - когда юзер то файл выбрал но по какой то причине до "рабочего кода" этот файл недошел - да хер знает, диск умер например и нет доступа туда - вот там да, это "исключительная ситуация"
часто кидают исключения тогда когда не надо, отсюда проблема
источник

AM

Andrew Mikhaylov in Programming Offtop
Konstantin dmz9
если exception = business logic "if" значит есть проблема с дизайном (системы)
Если у тебя есть гибкий способ управлять тем, какие исключения пользователь должен обрабатывать, то это может быть и нормальным подходом.

Возможно, есть смысл разделять это в терминологии на исключения (unchecked) и ошибки (checked), чтобы сбить эту ауру в головах)
источник

Kd

Konstantin dmz9 in Programming Offtop
где то был хороший дедовский сайтик как раз про исключения, не осилил всё прочитать но полезно
источник

I

Ilmir in Programming Offtop
Andrew Mikhaylov
Если у тебя есть гибкий способ управлять тем, какие исключения пользователь должен обрабатывать, то это может быть и нормальным подходом.

Возможно, есть смысл разделять это в терминологии на исключения (unchecked) и ошибки (checked), чтобы сбить эту ауру в головах)
В Ceylon подошли красиво к этому вопросу - там checked exceptions - часть типа, то есть File.open возвращает File | FileNotFound. У них и нулябельные типы - это T | null. Что, в принципе, соответствует ментальной модели значение | ошибка и значение | ничто. Жалко, не взлетел, ибо вышел одновременно с другим языком, который был тупо удобнее.
источник

AM

Andrew Mikhaylov in Programming Offtop
Ilmir
В Ceylon подошли красиво к этому вопросу - там checked exceptions - часть типа, то есть File.open возвращает File | FileNotFound. У них и нулябельные типы - это T | null. Что, в принципе, соответствует ментальной модели значение | ошибка и значение | ничто. Жалко, не взлетел, ибо вышел одновременно с другим языком, который был тупо удобнее.
Ну т.е. сам FileNotFound не обязательно checked, это исключительно сигнатурой функции описывается, которая его бросает? Да, похоже, именно о таком и говорили.

Хотя это тоже ближе к этим вашим монадкам, наверное)
источник

с#

саша сок #KotlinGang... in Programming Offtop
Andrew Mikhaylov
Ну т.е. сам FileNotFound не обязательно checked, это исключительно сигнатурой функции описывается, которая его бросает? Да, похоже, именно о таком и говорили.

Хотя это тоже ближе к этим вашим монадкам, наверное)
ну с монадой пользователь функции сам решает, checked или нет
источник

с#

саша сок #KotlinGang... in Programming Offtop
в какой-нибудь Result есть getOrThrow
источник

I

Ilmir in Programming Offtop
Andrew Mikhaylov
Ну т.е. сам FileNotFound не обязательно checked, это исключительно сигнатурой функции описывается, которая его бросает? Да, похоже, именно о таком и говорили.

Хотя это тоже ближе к этим вашим монадкам, наверное)
Там и то и то - подвиды untagged union types. В @LanguageDev только что был большой холивар tagged vs untagged.
источник

AM

Andrew Mikhaylov in Programming Offtop
Ilmir
Там и то и то - подвиды untagged union types. В @LanguageDev только что был большой холивар tagged vs untagged.
Читал, ток выводы не понял. Наверна потому, что они не прозвучали. :>
источник

А

Алексей in Programming Offtop
саша сок #KotlinGang
ну с монадой пользователь функции сам решает, checked или нет
ну в теории и без монад можно try catch сделать вполне и самом у решить что там чекед а что не очень
источник

А

Алексей in Programming Offtop
Ilmir
Там и то и то - подвиды untagged union types. В @LanguageDev только что был большой холивар tagged vs untagged.
ну я таки холиварил, что это не совсем правильное название
источник

AM

Andrew Mikhaylov in Programming Offtop
Алексей
ну в теории и без монад можно try catch сделать вполне и самом у решить что там чекед а что не очень
Да нет, checked так не получится, их же отлов форсить компилятором надо.
источник

А

Алексей in Programming Offtop
потому что вот это
File | FileNotFound
- это всё ещё tagged union
источник

I

Ilmir in Programming Offtop
Andrew Mikhaylov
Читал, ток выводы не понял. Наверна потому, что они не прозвучали. :>
А какие выводы могут быть у холивара? Оппонент несёт ересь, поэтому Deus Vult!
источник

А

Алексей in Programming Offtop
потому что класс тут является тэгом фактически
источник