::fgetpos を呼び出すコードがあり、キャッチできないカーネル例外が発生します (私の VS 2008 プロジェクトにはオプション /ehs があります)。しかし、標準ライブラリ ルーチンがこの種の例外をスローする べきではないと思わずにはいられません。
update : ::fgetpos(0, &foo) を呼び出してみましたが、これは明らかに間違っていて、実際にカーネル レベルの例外を受け取りました。私は困惑しています。C++ 標準ライブラリが最も基本的な引数チェック (null ポインターのチェック) を実行せず、std::invalid_argument を発生させないのはなぜですか?
そのような基本的なチェックを実行する標準ライブラリルーチンはありますか?それとも、それらはすべて喜んでプログラムを終了させますか?