3 ms·
You can't stop people from being lazy. Look at all the Java and Python code that forcefully ignores exceptions. It is something that can be caught with static
by nknighthb 13y ago
You can't stop people from being lazy. Look at all the Java and Python code that forcefully ignores exceptions.
It is something that can be caught with static analysis, however. Someone recently put together an appropriate tool[1] for Go, in fact. It seems to work very well.
[1]https://github.com/kisielk/errcheck https://github.com/kisielk/errcheck
- pcwalton 13y agoTo be fair, the ability to use static analysis for error code checking is not something that is unique to Go. There was a paper recently on doing this for C (which found hundreds of bugs in the Linux kernel due to incorrect error code handling): http://pages.cs.wisc.edu/~liblit/ghc-2011/ghc-2011.pdf http://pages.cs.wisc.edu/~liblit/ghc-2011/ghc-2011.pdf (Incidentally, the hard part of this analysis is not verifying that you checked the error, it's verifying that you propagated the error codes properly—that requires analyzing higher-order control flow.)
- MetaCosm 13y agoGo AST is something that I think will really help as it grows for writing great tooling.