If you forget that "throws" comment then the Java code is opaque to the exception. I think Go developer see a value in having errors exposed explicitly, it forces them to think about how to handle them instead of having a catch-all at the top of the program. But now we're down to philosophy and personal taste :)
Manually, on every function call that may fail - that was my only point why exceptions may result in a clearer code.
Has some boilerplate, as compared to a typical exception-based