- GCは失敗。メモリは自分で管理せよ!
238 :デフォルトの名無しさん[sage]:2014/10/19(日) 00:45:41.18 ID:0BIe0LWV - >>235-236
リソース解放に失敗したとき、例外も投げられず戻り値も無いデストラクタで どうやって失敗を適切に処置してるの? それとも、man page で「深刻なプログラミングエラー」って書かれてるような プログラミングスタイルで良しとしてるわけ? > http://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/close.2.html > 注意 > close() の返り値のチェックはよく省略されるが、 これは深刻なプログラミングエラーである。 > 前の write(2) 処理に関するエラーが最後の close() のときになって初めて通知される場合がありうる。 > ファイルクローズの際に返り値をチェックしないと、 気付かないうちにデータを失ってしまうかもしれない。 > これは特に NFS やディスククォータを使用した場合に見られる。
|
- GCは失敗。メモリは自分で管理せよ!
240 :デフォルトの名無しさん[sage]:2014/10/19(日) 01:17:34.05 ID:0BIe0LWV - >>239
で、あとで状態を一々チェックしてエラーがないか確認すると 古のerrnoと一緒じゃん
|
- GCは失敗。メモリは自分で管理せよ!
242 :デフォルトの名無しさん[sage]:2014/10/19(日) 01:23:50.83 ID:0BIe0LWV - >>241
NFSを使っててファイルのcloseに失敗した場合、 その例外をキャッチして、とりあえずローカルファイルに書き出す処理に移行して 最悪データが失われるのを防ぐとか
|