bad_cast,
bad_exception,
bad_typeid,
terminate,
type_info,
uncaught_exception,
unexpected
all these functions and classes are deeply language bounded, and reside
in the std namespace.
Yes, in some cases the compiler implicitly calls std library functions,
such as uncaught_exception or unexpected. The compiler has every right to
generate implicit function calls. Those two functions, however, are the
dark side of C++, and the general consensus is that it's better to avoid
them. I wouldn't touch uncaught_exception or exception specifiers with a
10-foot pole:
http://www.gotw.ca/gotw/047.htm
http://www.gotw.ca/gotw/082.htm
....
Connection &connection = ...
...
....