News for hackers. Stuff that matters.
Re:Go at Google: Language Design in the Service of Software ... by burntsushi on Tuesday December 04, 2012 @11:30PM (#4874887)
Eh, I don't think this is a good characterization of exception handling. It's certainly an accurate portrayal of exception handling in some languages---like Python---but in a staticly typed language like Java, I believe exceptions are quite explicit. (i.e., if you don't handle an exception, or explicitly state that you are ignoring it, the compiler will complain.) Although it's been a while since I've used Java, and if this is no longer true, I'm sure I could find a language in which it is true.

Personally, I would be OK with that kind of exception handling. I also enjoy Go's error handling. I think Python's exception handling is abhorrent and it constantly bites me in the ass.

Re:Go at Google: Language Design in the Service of Software ... by electrograv on Wednesday December 05, 2012 @12:04AM (#4874958)
It's been a while since I've used Java too, but I don't remember it requiring try..catch around ALL code. If you don't catch immediately, it defers the error to somewhere up the stack. This is what I meant by "ignoring" exceptions being the default behavior.
Re:Go at Google: Language Design in the Service of Software ... by burntsushi on Wednesday December 05, 2012 @03:34AM (#4875450)
Shoopy gave the key term: checked exceptions. Your grandparent criticized unchecked exceptions, and gave praise to Go error handling for features found in checked exceptions.

There are obviously still non-trivial differences between checked exceptions and Go's error handling, but they aren't as world shattering as unchecked exceptions.

Re:Go at Google: Language Design in the Service of Software ... by shoopy on Wednesday December 05, 2012 @12:30AM (#4875047)
If you don't catch a checked exception in your code, then you need to pass the buck to your callers, by adding a "throws" clause into the method signature.