>>60
Holy shit dude.
Uh-huh.
You tell me sepples' exception support is better by pointing me to a processor-and-compiler-and-kernel-specific hack to get stack traces. The article has 'tricks for Linux' in the title for crying out loud. And that's not a workaround...
Stack traces are platform specific to begin with. Most OSes which support C++ development have their own API for retrieving stack traces from exceptions. If you'd like a cross-platform method then you'd need to to abstract away your platform. Sounds familiar?
Yes, it's the same thing I was talking about with abort(). At least I admit that it's a hack! None of this exception support you rave about is even widely supported, let alone standardized.
You've maybe heard of the C++ standards committee and their the `C++98 standard'. Last I heard, most of it has been implemented by many of the major available C++ compilers for a while.
We don't all program for x86. We don't all program for Linux. We don't all compile with GCC or Intel.
I'm at a loss here. What are you trying to say? I've never implied I'm talking about anything platform specific. If you are working with a platform without exception support then it's not the language that's at fault?
Keep drinking that kool-aid buddy.
Riiiiiight. Moving right along.
You haven't given more information at all! All you've proven is that the same hacks I've been using to get stack traces with abort() are available with exceptions
Now we're getting somewhere.
(in an even more convoluted way, in the constructor to all your user-defined exceptions; good luck doing that with std::logic_error, std::range_error, etc.)
If it's convoluted then you're doing it wrong. For example you don't mix user-defined and STL exceptions. You choose either and stick with it throughout your application/system/library. Just like in C, practically every non-trivial library uses it's own error handling facility. Exceptions provide a single, standardised error handling facility.
Why the fuck should you need tools to interpret something that is supposed to be a standard feature of the language? What possible tools could these be? I need a p-and-c-and-k-specific library for stack traces?
Yeah, what the fuck. Why do I need a debugger, a compiler, a text editor. Ad nauseum.
I need the app to actually be hooked up to the debugger? What the fuck?
Sigh. Java exceptions are so good basically because every application runs inside a debugger. You won't get that with a static language without OS-specific extensions.
Period.
This is why people don't use sepples exceptions. They are just plain incomplete.
The point I'm trying to make is that they
were incomplete a long time ago. Every dipshit with an opinion keeps reiterating an age old mantra without actually understanding what C++ exception were meant to accomplish. It's just like everyone who read a 10-year old book about C++ thinks the language is written in stone.
Also, you keep saying assert() is a workaround. What a joke.
It's a C facility, not C++. As I said, the compatibility between the two allowed developers to work around the fact that exception weren't properly implemented yet. Since they are supported by compilers available today, the reason to avoid exceptions in
new applications is long gone.