2 ms·
Is it not caught by the compiler or linter though? Even variable shadowing is caught.
by johnisgood 2y ago
Is it not caught by the compiler or linter though? Even variable shadowing is caught.
- stouset 2y agoSome things are. Some things aren’t. At one point, you could write nil, err without the return and it would happily compile. It’s also tragically easy for actual logic bugs to be obscured by all the boilerplate. It’s not like three lines of error handling copypasta is some optimal amount. If golang required ten lines of boilerplate error handling, you’d still have just as many people arguing in favor of it because they “like it to be explicit” when it reality it’s verbose and the real underlying argument is that it’s what they’ve grown accustomed to. `?` is no less explicit, but it is less unnecessarily verbose.
- johnisgood 2y agoWhat I can say here is that I am not one of these people who would argue in favor of Go's error handling were it 10 lines. shudders. I would definitely not use it, just like how I do not use Java for quite many reasons (unless I get paid for it, but would rather not). :P