На самом деле вы ничего не можете сделать, если столкнетесь с ошибкой записи.Вы можете очистить буфер, но ваша последняя запись все еще была прервана, поэтому файл не содержит того, что вы хотите.Вы можете закрыть файл, снова открыть его для записи (с помощью «усечения») и записать его заново, но это работает только в том случае, если у вас все еще есть содержимое файла в памяти.
В качестве альтернативы, вы можете открыть снова и посмотреть, какбыло записано много данных, но это не поможет вам, если есть внешняя причина, по которой вы не можете записать в файл, поэтому нет действительно изящного способа восстановления.
Короче говоря, вы неt «обработать» ошибку на файловом сайте;скорее ваша программа должна обработать более крупное состояние ошибки, при котором запись просто не удалась, и отреагировать в соответствующей точке.
Вы, вероятно, должны рассмотреть «атомарные записи», что означает, что вы сначала записываете свой файл во временную и толькоесли вам это удастся, вы удалите оригинал и переименуйте временный в оригинальное имя файла.Таким образом, сам файл всегда находится в согласованном состоянии.