Re: We have a new standard!

Liste des GroupesRevenir à cl c++ 
Sujet : Re: We have a new standard!
De : david.brown (at) *nospam* hesbynett.no (David Brown)
Groupes : comp.lang.c++
Date : 03. Jan 2025, 17:12:09
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vl928q$3vm8i$1@dont-email.me>
References : 1 2 3 4 5 6 7
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0
On 03/01/2025 14:11, Sam wrote:
David Brown writes:
 
I think it became fairly quickly apparent that "throw(...)" specifiers were not as useful in practice as had been hoped, and relatively few programmers used them except in the form "throw()".  So "throw(...)" was deprecated in C++11 and has been valid until C++17 (with compilers implementations being free to accept it as a non-standard extension far beyond that).
 It should be painfully obvious that the right thing to do should've been to merge throw specifications into function signatures, allowing exception handling to be validated at compile-time, i.e. what Java did.
That's wrong on many levels.
First, what you think should be "obvious" now might not have been obvious at the time the relevant decisions were made - it's a lot easier to see problems with hindsight than to predict them in advance.
Secondly, what /you/ think is "obvious" can differ greatly from what other people think is obvious.  To /me/, it's obvious that dynamic exceptions are a bad idea in any compiled language suitable for systems programming.  Exceptions that can pass through functions are "hidden gotos" - clearly worse even than explicit "gotos".  Rather, it is "obvious" that the language should have had something akin to std::expected<> from the start, with syntactic sugar to reduce the boilerplate code to a minimal and compiler implementations using flag registers to get optimised code generation.  That's /obvious/.
Thirdly, you are again mistaking how Java supports exceptions. Unchecked exceptions in Java are not validated at compile time in any way.
Fourthly, you appear to be completely ignorant about the tools available in the early days of C++.  C++ had to work alongside existing linkers and related tools, which would not have been able to support such a system.  Even with more modern tools, to get a good system of checked exceptions without having to add an enormous source code burden on the programmer, you would need some kind of compiled interface file tracking exactly which exceptions each function could throw and pass on. Otherwise if "foo" calls "bar" and passes on any exception thrown by "bar" up the chain to the caller of "foo", you'd need to change the declaration of "foo" every time the list of exceptions throwable by "bar" (or any function it calls) changes.  That would be a nightmare in maintenance, and loses the whole point of exceptions.
Fifthly, you appear to be completely ignorant of how C++ is intended to work beside code written in C - the exception mechanism in C++ is designed to be transparent to C functions.  Without that, there would be no object code level compatibility.

Instead of that we have the current state of affairs where the only half-assed solution is to have all exception classes derived from a superclass, i.e. std::exception, and then play musical chairs to catch exceptions.
 
There is no such requirement in C++.  For convenience, the exceptions thrown by standard library functions are all derived from std::exception, but you are free to throw whatever types you like.

Date Sujet#  Auteur
27 Dec 24 * We have a new standard!125Stefan Ram
28 Dec 24 +* Re: We have a new standard!40Sam
28 Dec 24 i+- Re: We have a new standard!1Chris M. Thomasson
28 Dec 24 i`* Re: We have a new standard!38Muttley
28 Dec 24 i +* Re: We have a new standard!26David Brown
29 Dec 24 i i`* Re: We have a new standard!25Muttley
29 Dec 24 i i `* Re: We have a new standard!24David Brown
29 Dec 24 i i  +* Re: We have a new standard!8Muttley
30 Dec 24 i i  i`* Re: We have a new standard!7David Brown
30 Dec 24 i i  i `* Re: We have a new standard!6Muttley
30 Dec 24 i i  i  `* Re: We have a new standard!5David Brown
30 Dec 24 i i  i   `* Re: We have a new standard!4Muttley
31 Dec 24 i i  i    +- Re: We have a new standard!1James Kuyper
1 Jan 25 i i  i    `* Re: We have a new standard!2Michael S
1 Jan 25 i i  i     `- Re: We have a new standard!1Muttley
29 Dec 24 i i  +* Re: We have a new standard!12Paavo Helde
29 Dec 24 i i  i+* Re: We have a new standard!5Michael S
30 Dec 24 i i  ii`* Re: We have a new standard!4Tim Rentsch
30 Dec 24 i i  ii `* Re: We have a new standard!3boltar
30 Dec 24 i i  ii  +- Re: We have a new standard!1David Brown
31 Dec 24 i i  ii  `- Re: We have a new standard!1Tim Rentsch
30 Dec 24 i i  i`* Re: We have a new standard!6Tim Rentsch
30 Dec 24 i i  i +- Re: We have a new standard!1David Brown
31 Dec 24 i i  i `* Re: We have a new standard!4Chris M. Thomasson
31 Dec 24 i i  i  `* Re: We have a new standard!3Tim Rentsch
31 Dec 24 i i  i   `* Re: We have a new standard!2David Brown
31 Dec 24 i i  i    `- Re: We have a new standard!1Chris M. Thomasson
30 Dec 24 i i  `* Re: We have a new standard!3Michael S
30 Dec 24 i i   `* Re: We have a new standard!2David Brown
4 Jan 25 i i    `- Re: We have a new standard!1Michael S
28 Dec 24 i `* Re: We have a new standard!11Phillip
29 Dec 24 i  `* Re: We have a new standard!10Muttley
29 Dec 24 i   `* Re: We have a new standard!9Sam
29 Dec 24 i    +* Re: We have a new standard!4wij
29 Dec 24 i    i`* Re: We have a new standard!3Muttley
29 Dec 24 i    i `* Re: We have a new standard!2wij
29 Dec 24 i    i  `- Re: We have a new standard!1Muttley
29 Dec 24 i    `* Re: We have a new standard!4Muttley
29 Dec 24 i     `* Re: We have a new standard!3Sam
29 Dec 24 i      +- Re: We have a new standard!1Muttley
29 Dec 24 i      `- Re: We have a new standard!1Michael S
28 Dec 24 +* Re: We have a new standard!9Benutzer Eins
28 Dec 24 i`* Re: We have a new standard!8Chris Ahlstrom
28 Dec 24 i +* Re: We have a new standard!6Lynn McGuire
28 Dec 24 i i`* Re: We have a new standard!5Lynn McGuire
29 Dec 24 i i `* Re: We have a new standard!4Chris M. Thomasson
29 Dec 24 i i  `* Re: We have a new standard!3Lynn McGuire
29 Dec 24 i i   +- Re: We have a new standard!1Chris M. Thomasson
29 Dec 24 i i   `- Re: We have a new standard!1Chris M. Thomasson
29 Dec 24 i `- Re: We have a new standard!1David Brown
1 Jan 25 +* Re: We have a new standard!72Michael S
1 Jan 25 i+* Re: We have a new standard!56Muttley
1 Jan 25 ii+- Re: We have a new standard!1Ross Finlayson
2 Jan 25 ii+* Re: We have a new standard!50David Brown
2 Jan 25 iii+* Re: We have a new standard!47Muttley
2 Jan 25 iiii`* Re: We have a new standard!46David Brown
2 Jan 25 iiii +* Re: We have a new standard!42Muttley
2 Jan 25 iiii i`* Re: We have a new standard!41David Brown
2 Jan 25 iiii i +* Re: We have a new standard!10Muttley
2 Jan 25 iiii i i`* Re: We have a new standard!9Keith Thompson
3 Jan 25 iiii i i `* Re: We have a new standard!8Muttley
3 Jan 25 iiii i i  +* Re: We have a new standard!6Keith Thompson
4 Jan 25 iiii i i  i`* Re: We have a new standard!5Muttley
4 Jan 25 iiii i i  i `* Re: We have a new standard!4David Brown
4 Jan 25 iiii i i  i  `* Re: We have a new standard!3Muttley
4 Jan 25 iiii i i  i   `* Re: We have a new standard!2David Brown
4 Jan 25 iiii i i  i    `- Re: We have a new standard!1Muttley
4 Jan 25 iiii i i  `- Re: We have a new standard!1Ross Finlayson
2 Jan 25 iiii i `* Re: We have a new standard!30Sam
3 Jan 25 iiii i  `* Re: We have a new standard!29David Brown
3 Jan 25 iiii i   `* Re: We have a new standard!28Sam
3 Jan 25 iiii i    +* Re: We have a new standard!25Paavo Helde
3 Jan 25 iiii i    i+* Re: We have a new standard!23Sam
3 Jan 25 iiii i    ii+* Re: We have a new standard!5Muttley
3 Jan 25 iiii i    iii`* Re: We have a new standard!4Sam
3 Jan 25 iiii i    iii `* Re: We have a new standard!3Muttley
3 Jan 25 iiii i    iii  `* Re: We have a new standard!2Sam
4 Jan 25 iiii i    iii   `- Re: We have a new standard!1Muttley
3 Jan 25 iiii i    ii+* Re: We have a new standard!4David Brown
3 Jan 25 iiii i    iii`* Re: We have a new standard!3Sam
4 Jan 25 iiii i    iii `* Re: We have a new standard!2David Brown
4 Jan 25 iiii i    iii  `- Re: We have a new standard!1Sam
3 Jan 25 iiii i    ii`* Re: We have a new standard!13Paavo Helde
4 Jan 25 iiii i    ii `* Re: We have a new standard!12Sam
4 Jan 25 iiii i    ii  +- Re: We have a new standard!1Ross Finlayson
4 Jan 25 iiii i    ii  `* Re: We have a new standard!10Paavo Helde
4 Jan 25 iiii i    ii   +- Re: We have a new standard!1Sam
5 Jan 25 iiii i    ii   +- Re: We have a new standard!1wij
6 Jan 25 iiii i    ii   `* Re: We have a new standard!7Muttley
7 Jan 25 iiii i    ii    `* Re: We have a new standard!6Chris Ahlstrom
7 Jan 25 iiii i    ii     +* Re: We have a new standard!4Muttley
8 Jan 25 iiii i    ii     i`* Re: We have a new standard!3Chris Ahlstrom
8 Jan 25 iiii i    ii     i +- Re: We have a new standard!1Keith Thompson
9 Jan 25 iiii i    ii     i `- Re: We have a new standard!1Muttley
8 Jan 25 iiii i    ii     `- Re: We have a new standard!1Sam
4 Jan 25 iiii i    i`- Re: We have a new standard!1Ross Finlayson
3 Jan 25 iiii i    `* Re: We have a new standard!2David Brown
3 Jan 25 iiii i     `- Re: We have a new standard!1Sam
2 Jan 25 iiii `* Re: We have a new standard!3Michael S
2 Jan 25 iiii  `* Re: We have a new standard!2David Brown
2 Jan 25 iiii   `- Re: We have a new standard!1Michael S
2 Jan 25 iii`* Re: We have a new standard!2Keith Thompson
2 Jan 25 ii`* Re: We have a new standard!4Keith Thompson
1 Jan 25 i+* Re: We have a new standard!14Paavo Helde
2 Jan 25 i`- Re: We have a new standard!1Michael S
1 Jan 25 `* Re: We have a new standard!3Rosario19

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal