Глава 5. Дисковые накопители.
Раздел 1. Управление распределением диска.
5.1.4 Восстановление после ошибок, связанных с нехваткой пространства на диске.
При попытке записи на полный диск может произойти крах программы. Часто легко избежать этого, даже в Бейсике, проверив предварительно наличие дискового пространства {5.1.2}. Однако, если ошибка произошла, то постарайтесь дать пользователю возможность исправить ее. Позвольте ему сохранить только часть данных или стереть какой-нибудь другой файл и повторить попытку. Или, еще более радикальное средство, позвольте пользователю вставить другую дискету. Последний подход должен реализовываться с большой осторожностью. Сначала закройте все открытые файлы. Затем выдайте запрос на смену дискеты. После того, как пользователь сообщит, что новая дискета на месте, создайте новый файл и запишите туда данные.
Средний уровень.
Все функции DOS, которые пишут на диск, выдают определенный код ошибки при попытке записи на полный диск. Вот сводка этих кодов:
Метод доступа Функция Hазвание Kод ошибки FCB 15H Последовательная запись AL = 1 FCB 22H Прямая запись AL = 1 FCB 27H Прямая запись блока AL = 1 Дескриптор 40H Запись в файл/устройство CX <> BXПроверяйте эти ошибочные условия после каждой записи на диск. Поскольку критической ошибки не происходит, то восстановление не вызывает проблем. Hадо только проверять на ошибку каждый раз когда Вы вызываете одну из этих функций и создать хорошую процедуру обработки ошибок по Вашему вкусу.
<~-5.1.3 Получение/установка размера файла.
Содержание
Раздел 2. Работа с каталогами диска.-~>