Re[8]: Сейчас на меня набросятся
От: pavel_turbin  
Дата: 18.12.05 11:58
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>close() может вернуть -1 по внешним причинам. Например, из-за того, что

Pzz>не удалось отлить на диск отложенную запись.

Pzz>Разве тот факт, что на диске кончилось место, может считаться

Pzz>уважительной причиной упасть по assert'у?

естественно, если вы обрабатываете специальным образом ошибку из close, например, повторяете вызов через несколько секунд, то assert не нужен. НО если вы просто игнорируете его код возврата:

int myfunction()
{
    int fh = open(...);
    if( fh < 0 )
        return -1;

    read(...);

    close(fh); // часто можно видет такой код
    return 0;
}



то хорошо бы и хотя бы про-assert-ить.

Еще один момент, я обычно сохраняю assert-ы в релизе. Они пишут в error-log, тогда можно было отследить ошибки и в release.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.