В C# 15 появились union types. И это не косметика, это смена подхода к обработке ошибок.
Вы можете явно описать результат как “либо значение, либо ошибка”, прямо на уровне языка.
Без самодельных Result-классов, без лишних обёрток, без попыток использовать исключения там, где они неуместны.
Раньше, ты либо городишь свой Result и работаешь с лишним бойлерплейтом.
Либо тащишь сторонние библиотеки.
Либо кидаешь исключения и теряешь контроль над потоком.
С union types эта проблема решается .
Pattern matching начинает работать так, как и должен. Ты не гадаешь, что вернул метод, а явно разбираешь все варианты.
Код становится проще читать, проще тестировать и сложнее сломать.
Post #1758
4.71K
