Re:Why Go Gets Exceptions Right
by pacala on Friday September 14, 2012 @09:34AM
(#4521526)
Uhm, then don't code in Go?
[ Parent
| on HN ]
Re:Why Go Gets Exceptions Right
by sirclueless on Friday September 14, 2012 @10:39AM
(#4521806)
You can ignore errors in Go by assigning them to _. You can't if your return value is sometimes an Error.
You could implement something like lvalue pattern matching, if you wanted to.
Assuming you construct tagged unions like so:
Valid 123
Error "Error message"
You could pattern match on the left side of an assignment like so: Valid foo = dosomething()
use(foo)
Which would extract the wrapped value into 'foo' if the union's tag was 'Valid', or aborted/panicked/did something else somewhat sane if the value didn't match.