|
|
|
|
|
by lolinder
1864 days ago
|
|
I think the point is that in Go, you expect failure. Failure is not exceptional. It's a first class part of the logic. Java conditions you to view failure as an exception to the rule, and the happy path as the real code (which is the attitude you express in your first comment). Lots of us have since observed that this approach to failure leads to errors because programmers ignore failures, allowing them to be handled by a catch-all at the top of the stack, which typically just dumps a stacktrace and calls it a day. The paradigm espoused by Go sees errors as just another program state, and one whose implications are just as important to consider as the desired behavior. This forces programmers to consider all the implications of a failure, rather than just adding another `throws` clause. |
|
That's not typical Java code. You could do that in quick & dirty code, but I haven't seen such code in production code.