Обработка ошибок
При обнаружении ошибки поток вызывает свой метод 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.