If you’re interested in functional error handling in Scala (Option, Try, Either, etc.), there’s a nice discussion at this Github pull request.
There are a few quotes that are well worth sharing for anyone interested in functional error handling in Scala. First, all of Martin Odersky’s introduction is terrific background material on the topic, so I’d start with that.
Later, Adam Warski shares this statement, which I think is a terrific summary about functional error handling with ZIO:
“While
Either
might not be perfect, it's very commonly used for error-handling right now (next to exceptions). Even, or maybe especially, in purely-functional codebases, including ones based on ZIO: if a method it pure, it usesEither
, if a method is effectful, it usesZIO
.”
Finally, Mr. Odersky follows up part of Mr. Warski’s comment with this statement about Either
:
“Yes, no problem adding the same mechanism to
Either
(even though it’s still an abomination 😁 as an error handling construct).”
I always appreciated the flexibility of Either
, but thought that its flexibility came at a certain price.
Please see that interesting discussion for more details. (It’s not often that you can easily see the inner workings of how a computer programming language is created and modified.)
this post is sponsored by my books: | |||
#1 New Release |
FP Best Seller |
Learn Scala 3 |
Learn FP Fast |