Иллюстрированный самоучитель по Турбо Паскалю
Обработка ошибок
При обнаружении ошибки поток вызывает свой метод TStream.Error, который
определяет необходимую реакцию программы. По умолчанию этот метод просто
записывает информацию об ошибке в поля TStream.Status и TStream.ErrorInfo.
Поле Status определяет тип ошибки, в соответствии со следующими константами
модуля Objects:
const
stOk = 0; {Нет ошибки}
stError =-1; {Ошибка доступа}
stInitError =-2; {Ошибка инициации потока}
stReadError =-3; {Чтение за концом потока}
stWriteError =-4; {Нельзя расширить поток}
stGetError =-5; (Get для незарегистрированного объекта}
stPutError =-6; {Put для незарегистрированного объекта}
Поле ErrorInfo определено только для Status - -5 или Status - -6: в первом
случае оно содержит регистрационный номер, полученный из потока и не
обнаруженный в регистрационном списке; во втором - смещение ТВМ
незарегистрированного объекта, который программа пытается поместить в поток.
Сразу после обнаружения ошибки Turbo Vision блокирует все операции с потоком
до тех пор, пока аварийная ситуация не будет сброшена обращением к методу
TStream.Reset.