4 ms·
Not sure what your question is. "Insist in what way": starts with things like the Go FAQ having a question called "Why does Go not have exceptions?". The answ
by knorker 3y ago
Not sure what your question is.
"Insist in what way": starts with things like the Go FAQ having a question called "Why does Go not have exceptions?".
The answer does elaborate, so it's not like they're lying, exactly. But anything and everything Go says about this also applies to C++. There's no relevant technical difference between Go and C++ exceptions, nor is there a difference in how the standard library uses them.
... except the Go standard library swallows exceptions in some cases, which is like the biggest no-no you can do.
But nobody would say that C++ doesn't have exceptions.
- randomdata 3y agoGo clearly has exceptions. It always has. Thus I ask what is being insisted. Like, specifically. Is it being insisted in some tangential way, like 'Go doesn't have "try", "catch", and "finally" keywords'? Something like that would be true. Or is the insistence straight up "Go does not have exceptions!"? If that is the case, who is saying it? Did you just read it in one of the regularly scheduled Rust advertisements that get posted here? Or did it come from someone who actually means something in the Go community?
- knorker 3y agoLike specifically what I just mentioned: the official FAQ. And repeatedly from Pike, core documentation, and other core developers.
- randomdata 3y agoHuh? There is nothing in the FAQ claiming that Go doesn't have exceptions... It literally says that Go does have exceptions. Are you referring to the frequently asked question itself? That's the only thing in there that could even possibly make you think Go doesn't have exceptions. Except, being a FAQ, you know that the question comes externally from people who don't know about Go. That is why they are asking the Go people the question! One would have to be braindead to think that is an insistence. Maybe you need to be even more specific.
- knorker 3y ago> There is nothing in the FAQ claiming that Go doesn't have exceptions. Is this some sort of gaslighting? Not only is it in there, I even quoted it for you. > the question comes externally from people who don't know about Go And they're told it doesn't have exceptions. In the last few of years they've started correcting the FAQ and other introductory material. I'm not going to go through all the intro material again. Maybe in the last 10 years they've fixed the misinformation. But an FAQ answer that doesn't start with "it does, ", is wrong. Saying "Go doesn't have exceptions", followed by the feature it does have, which is the literal exact definition of exceptions (well, some Lisp languages have fancier exceptions, but still), is gaslighting. Like I said elsewhere, the C++ standard library also doesn't throw willy-nilly. It's not "not exceptions" just because they boycott that name, or its intended usage. Just like "Go doesn't have warnings. It's all errors, the equivalent of -Werror" is a lie. They just chose to put the warnings into "go vet", to cover their tracks. It may be that they've stopped using "doesn't have exceptions" in basically all marketing material now, but when I was learning it a decade ago it was everywhere. So now we have all this code out there that's not exception safe. And that's why (to bring it back to the topic) it is a thing that they got wrong.