Это один из многих аспектов программирования на F #, который страдает от раскола ума в основе языка и его сообщества.
С одной стороны, у вас есть «F # .NET Framework language», где исключения - это механизм обработки ошибок, с другой - «F # функциональный язык программирования», который заимствует свои идиомы из мира Haskell.,Это откуда Result
(также известный как Either
).
Ответ на вопрос «какой из них идиоматический» будет меняться в зависимости от того, кого вы спрашиваете и что они видели, но мой опыт научил меня, что, если вы сомневаетесь, вам лучше использовать исключения.Тип Result
находит свое применение в модерации, но стиль программирования, насыщенный результатами, легко выходит из-под контроля, и как только это происходит, это не очень приятное зрелище.