Если Exception | FileNotFoundException != Exception, то это неправильный union.
Но в том чате с тобой вряд ли об этом общаться будут, да. По-моему, там основная масса -- любители ML и растаманы, за некоторым небольшим вычетом. Одни не любят сабтайпинг, другие исключения)
Но в том чате с тобой вряд ли об этом общаться будут, да. По-моему, там основная масса -- любители ML и растаманы, за некоторым небольшим вычетом. Одни не любят сабтайпинг, другие исключения)
Мне нравится, что Rustaceans перевели как Растаманы. Наверное, потому что Растисты звучит ещё хуже.
В Ceylon подошли красиво к этому вопросу - там checked exceptions - часть типа, то есть File.open возвращает File | FileNotFound. У них и нулябельные типы - это T | null. Что, в принципе, соответствует ментальной модели значение | ошибка и значение | ничто. Жалко, не взлетел, ибо вышел одновременно с другим языком, который был тупо удобнее.
у них в принципе сумтипы есть, я уже из-за этого плакал, узнав про цейлон
В Ceylon подошли красиво к этому вопросу - там checked exceptions - часть типа, то есть File.open возвращает File | FileNotFound. У них и нулябельные типы - это T | null. Что, в принципе, соответствует ментальной модели значение | ошибка и значение | ничто. Жалко, не взлетел, ибо вышел одновременно с другим языком, который был тупо удобнее.