хватает инструментов управления исключительными ситуациями (или ошибками, не суть важно).
Есть какой-то классический Result<Data,EnumOfErrors>, тут все просто и понятно.
Но если у меня сложная бизнес-логика, то набор возможных ошибок может нарастать на разных инфраструктурных уровнях и хочется расширять этот Enum, но так, что бы в любой момент видеть, а какие конкретно ошибки могут быть без их явного описания и маппинга. И разбирать их через when на верхнем уровне, разумеется )
Checked exceptions этого не дают делать, увы. Расширяемых enum тоже нет. Sealed class тут тоже не помогут (
Есть какие-то умные варианты?
если найду и скину на F#, разберешь?
А по-пролетарски иметь String c mark ошибки не подходит?
Обсуждают сегодня