>Go has exceptions. They are called panic/recover.
This has been explained to you time and time again. You keep posting this exact same comment, complete with the "COME FROM" analogy. Then it gets explained to you that panic/recover are an exception system. Then you ignore it. It's really tiresome.
He might ignore the similarity of panic/recover with Exceptions, but you also ignore:
panic/recover is not used for 99% of exception control in Go. We just check the out-of-band error code and act accordingly.
Panic/Recover is only used for TRULY EXCEPTIONAL situations.
Wish we could say the same for, say, Java's exceptions.
Odd that you say that, because the language that's most similar to Go here is Java, with its checked exceptions. The same reasoning that led to Go's error codes (that you should always handle your errors) led to checked exceptions. The fact that people generally think checked exceptions are a bad idea is a point against Go, not in favor of it.
Checked exceptions are superior to Go's error return codes anyway, since they make it easier to bubble your errors up to your caller.
He might ignore the similarity of panic/recover with Exceptions, but you also ignore:
panic/recover is not used for 99% of exception control in Go. We just check the out-of-band error code and act accordingly.
Panic/Recover is only used for TRULY EXCEPTIONAL situations.
Wish we could say the same for, say, Java's exceptions.