Глава 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. Работа с каталогами диска.-~>

Сайт управляется системой uCoz