pavel_turbin wrote:
>
> Pzz>Можно еще сознательно игнорировать результат close(). Например, если я
> Pzz>закрываю временный файл, который уже отслужил свое, зачем мне знать код
> Pzz>возврата? Сделать-то с ним ничего осмысленного я все равно не смогу...
>
> тут в другом дело. Задача избежать 2-го закрытия того же handle-a.
> handle может принять значение какого-нибудь уже существующего handle-a,
> т.к после close его значение может быть вновь использовано.
Ну, на все случаи жизни соломки не подстелишь. Причем Вы, ради борьбы с
воображаемой проблемой создали вполне реальную проблему: Ваше приложение
может упасть по внешним причинам.
Кстати, обратите внимание, что:
1) close не того файла все равно не пройдет незамеченным — попытка
поработать с закрытым файлом вернет ошибку
2) в Вашем случае assert сработает слишком поздно, и из него трудно
будет понять, что произошло
3) как только вместо read'а будет написан write, использование
assert'а сразу станет некорректным, а это совершенно неочевидно. Первый
же индус, который добавит в фаш код запись в файл, не обратит никакого
внимания на assert.
Posted via RSDN NNTP Server 2.0