Originally Posted by
grumpy
atexit() and qsort() accept arguments which are functions to pointers and, from a C++ perspective, there is nothing stopping the passed functions throwing exceptions.
Structured exceptions are a Microsoft-specific thing. There is nothing stopping a compiler targeting a windows OS from doing things with structured exceptions. But that is unrelated to Bjarne's comments.
Bjarne was referring to the fact that, as specified, most standard C functions have no reason to throw exceptions and do not call any function that might throw exceptions. This means that, even though standard C functions have no exception specifications (which, from a C++ perspective, means they can throw ANY exception) a C++ compiler can still take advantage of the fact they won't throw exceptions.