From: John H. on
Andrew wrote:
> To me, catch (std::exception&) is a catchall

To avoid confusion for some readers:
catch(std::exception&) is not really a catch all. For instance one
can "throw 3;" and catch it with "catch(int)", but not with
"catch(std::exception&)". I believe that a true catch all is
"catch(...)".

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Jonathan Mcdougall on
On Mar 10, 4:53 pm, Andrew <marlow.and...(a)googlemail.com> wrote:
>> On 25 Feb, 08:29, Jonathan Mcdougall <jonathanmcdoug...(a)gmail.com>
>> wrote:
>>
>> 18.6.1 does not define a constructor that takes a string:
>> but 17.4.4.4/2 says: "An implementation can declare additional non-virtual
>> member function signatures within a class: [...] by adding a member function
>> signature for a member function name."
>
> It seems to be that these sections are in conflict.

Not at all, it allows conformant implementations to add features. Not
everybody
is concerned about having to compile the same code on different
compilers and
using extensions can and do make your life easier, as long as you
understand
the implications.

> I hope this can be cleared up in the next addition of the std.

I don't.

--
Jonathan Mcdougall

[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]