> Go is the first language where I can actually access the original socket permission error because it was actually passed up.
Now try to trace them as easily as exceptions. Oh wait, you can't unless you wrap Go errors into some struct from a library that isn't in the std lib therefore everybody has different systems to trace errors /s
i'll take exceptions over this (which go has, panic/defer). error is just a convention, it's not an error system.