Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

3
  • 1. Being able to separate the try and catch is a fair argument, but couldn't this be easily achieved with Try? 2. Storing Eithers in data structures could be done alongside the throws mechanism; isn't it simply an extra layer on top of handling failures? 3. You can definitely extend Exceptions. Sure, you can't change the try-catch structure, but handling failures is so common that I definitely want the language to give me a boilerplate for that (which I'm not forced to use). That's like saying that for-comprehension is bad because it's a boilerplate for monadic operations. Commented Sep 8, 2016 at 18:05
  • I just realized that you said that Eithers can be extended, where clearly they cannot (being a sealed trait with only two implementations, both final). Can you elaborate on that? I'm assuming you didn't mean the literal meaning of extending. Commented Sep 9, 2016 at 2:30
  • 3
    I meant extended as in the English word, not the programming keyword. Adding functionality by creating functions to handle common patterns. Commented Sep 9, 2016 at 3:54