Ich habe Code, der ::fgetpos aufruft, was zu einer Kernel-Ausnahme führt, die nicht abgefangen werden kann (in meinem VS-2008-Projekt habe ich die Option /ehs). Aber ich kann nicht anders, als zu denken, dass Standardbibliotheksroutinen solche Ausnahmen niemals auslösen sollten.
Update: Ich habe versucht, ::fgetpos(0, &foo) aufzurufen, was offensichtlich falsch ist, und tatsächlich erhielt ich eine Kernel-Ebene-Ausnahme. Ich bin verwirrt. Warum würde die C++-Standardbibliothek nicht die einfachsten Überprüfungen der Argumente durchführen (Überprüfung auf Nullzeiger) und eine std::invalid_argument werfen?
Führen irgende Standardbibliotheksroutinen solche grundlegenden Überprüfungen durch, oder beenden sie alle fröhlich das Programm?