3 ms·
> I really prefer the Java "force you to catch exception" model much more to this. https://github.com/kisielk/errcheck/ https://github.com/kisielk/errcheck/ wi
by twotwotwo 12y ago
> I really prefer the Java "force you to catch exception" model much more to this.
https://github.com/kisielk/errcheck/ https://github.com/kisielk/errcheck/ will tell you if you silently discard the `err` value (though you can still explicitly assign it to _ to ignore). Seems worth using for a lot of projects.
- burke 12y agoWe use errcheck for all the Go code we write at Shopify. In many cases, we compile the project using a script that fails if errcheck isn't clean, effectively turning into a "you are forced to catch the exception" sort of idea. It's nice because it's still easy to ignore the err in certain circumstances (e.g. the occasional `_ = f.Close()`), but there's always a visual marker to remind you.
- jroesch 12y agoThe above comments are just pointing out that the compiler should do this for you. It is great that there are third party tools for this, but a simple lint like this should come for free, especially when this is the endorsed error handling policy.
- enneff 12y agoNot everything belongs in the compiler. Go's "vet" tool might be the place for something like this. But, honestly, I have been writing Go code for 5 years and I can count the number of times that "didn't check the error" was the cause of a bug on one hand.
- twotwotwo 12y agoAgree on not in the compiler. A ton of folks seem to dig errcheck; having that sort of check in vet or in the Go distro somehow seems worthwhile. (Of course, if I feel that way, maybe I should put some effort where my mouth is and try and start on a patch. :)
- Intermernet 12y agoI'm actually quite surprised this functionality hasn't made it into "go vet" yet. It would be useful to be able to do this without a 3rd party utility (although all respect to kisielk for producing such a useful tool).
- rtpg 12y agopleasantly surprised that you could write go tooling to check this, I hope the team is willing to pull things like this in.