Обработка ошибок - открыт ли файл.

Страницы: 1
RSS
Обработка ошибок - открыт ли файл., Обработка ошибок - открыт ли файл.
 
При попытке логгирования изредка появляется ошибка доступа к открытому текстовому файлу: attempt toi use closed file.
Как корректно обработать эту ошибку, чтобы она не приводила к остановке работы скрипта? Как проверить открыт ли файл или нет, перед попыткой записи?
 
Попробуй так
Код
Myfilefile = "\\MyData.txt";
   i = 0;
   while i == 0 do
      Myfile = io.open(getScriptPath()..Myfilefile,"r+");
-- Если файл занят      
      if Myfile == nil then 
         sleep(100);
      else
         i = 1;
      end;
   end;
 
Все гораздо проще.

достаточно посмотреть type(file_variable)
 
Цитата
s_mike@rambler.ru написал:
Все гораздо проще.

достаточно посмотреть type(file_variable)
Что-то не получается.
Такой код

Flog = io.open(homefolder.."\\"..sLogFileName..".csv", "a+");
message (type(Flog))
Flog:close ();
message (type(Flog))

оба раза возвращает "userdata"
 
io.type (obj)

Проверяет, является ли obj валидным хендлером файла. Возвращает строку "file" если obj –
открытый хендлер файла, "closed file" если obj закрытый хендлер файла, или nil
если obj не является хендлером файла.
 
Цитата
s_mike@rambler.ru написал:
io.type
Работает, спасибо!
Страницы: 1
Читают тему (гостей: 1)
Наверх