FooException at /path/to/useless/file_1.x:42
performing request "abcd-1234" on host "pickles-1":
querying database "primary":
Can you do that with exceptions? Of course! The problem is that
suddenly your code will start to look a lot like "if err != nil".
That exceptions automatically take care of propagating context is a big plus.
> See, for example, how Rob Pike et al. do error handling in their Upspin project
The fact that there needs to be an entire blog post just to explain how to use errors in golang properly is quite telling about how poor of a job it does. Not to mention all the hoops they have to jump to propagate useful information, all of which we already have in languages with exceptions.