Russ Cox @_rsc Go Hacker. Mistake maker. Jul. 02, 2019 1 min read

Thanks @goinggodotnet for this open letter about try. I wanted to share a few brief thoughts. 1/

The top three pain points for Go users, in surveys and direct feedback, have been consistent for a number of years. They are: package management, generics, and error handling. We are working on all three. 2/

We started a conversation about error handling last August at GopherCon, with the release of the Go 2 design drafts.  3/

The Go 2 error handling draft from August introduced two new language constructs, check and handle, which overlapped in unfortunate ways with defer.  4/

Based on the feedback we received about that draft design, we simplified it further, essentially dropping handle in favor of reusing defer. And we renamed check to try. We published that simplified design in early June.  5/

There has been an active conversation on the GitHub issue since then, which is great. We’ve been very engaged with the community feedback there, including replying, organizing, and summarizing. For example, see this view we built in mid-June.  6/

Bill’s letter mentions try “feels like it’s being pushed through.” On the contrary, this latest proposed design is the latest step in a years-long conversation, not the end of one. The design is in no way a foregone conclusion, nor is it our intent to push anything through. 7/

The goal of this process is to improve error handling as a pain point for Go developers. We are gathering and processing as much feedback and evidence as we can toward that goal. The process is working, and I expect the process to continue for quite some time. 8/

Community-wide discussions like this one are open source at its best. We really appreciate everyone’s help in finding the highest-impact ways to improve the state of error handling in Go development. Huge thanks to Bill and everyone else who has been working with us on this. 9/9

You can follow @_rsc.


Tip: mention @threader_app on a Twitter thread with the keyword “compile” to get a link to it.

Enjoy Threader? Sign up.

Threader is an independent project created by only two developers. The site gets 500,000+ visits a month and our iOS Twitter client was featured as an App of the Day by Apple. Running this space is expensive and time consuming. If you find Threader useful, please consider supporting us to make it a sustainable project.