Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Исключение в СписокОбъектовКонфигурации.СформироватьСписокОбъектов() #19

Closed
1cgh opened this issue Dec 7, 2019 · 9 comments

Comments

@1cgh
Copy link

1cgh commented Dec 7, 2019

В СписокОбъектовКонфигурации.СформироватьСписокОбъектов() есть проверка:

         Если Файл.ЭтоКаталог() Тогда
             Продолжить;
         КонецЕсли;

для каждого обрабатываемого элемента из массива путей.
При этом файла фактически на диске может не быть. И ЭтоКаталог() падает в исключение, так как ему требуется реально существующий файл.
Варианты решения:

  1. Выпилить совсем эту проверку.
  2. Обернуть в попытку. В случае исключения спамить в лог, только надо с уровнем определиться.
  3. Как-то иначе определять, что файл - это каталог. По этому варианту у меня идей нет :)
@nixel2007
Copy link
Member

3 - ФС.КаталогСуществует() ?

@1cgh
Copy link
Author

1cgh commented Dec 7, 2019

@nixel2007 не у канпуктера, но тоже не прокатит, я думаю. у меня есть массив путей, но самих файлов по этим путям нет. т.е. фактически с помощью фс нет способа проверить каталог это или нет. только косвенно по строке пути. по наличию расширения вроде в данном случае можно

@nixel2007
Copy link
Member

Там просто вызывается две проверки. Если Файл.существует() и Файл.ЭтоКаталог()

@1cgh
Copy link
Author

1cgh commented Dec 7, 2019

ну вот нет файлов, там где скрипт выполняется. только строки-пути)

@1cgh
Copy link
Author

1cgh commented Dec 7, 2019

еще как вариант добавить в метод параметр-флаг, отключающий проверку на каталог

@nixel2007
Copy link
Member

@1cgh я что-то проблемы не понимаю. Ну нет файлов, есть строка... Почему нельзя сделать Новый Файл(ТвояСтрока).Существует? ФС в себя тоже строки, а не файлы, принимает

@1cgh
Copy link
Author

1cgh commented Dec 8, 2019

@nixel2007 метод работает с массивом путей. строк. это пути где-то, а не там где запущен скрипт, использующий метод. поэтому любые проверки, использующие обращение к файловой системе не корректны. строка-путь <> реальный файл/каталог

@1cgh
Copy link
Author

1cgh commented Dec 9, 2019

@nixel2007 ну т.е. представь, что массив путей я тебе просто в текстовом файлике прислал как строки. есть у тебя файлы на диске? что тебе скажут о них методы файловой системы? сможешь ты с помощью методов ФС понять, что очередной путь - это путь к каталогу?

@khorevaa в общем я предлагаю вместо ЭтоКаталог проверять наличие расширения. проверю только, что в штатной выгрузке все файлы имеют расширения, и PёRну

1cgh pushed a commit to 1cgh/v8storage that referenced this issue Dec 9, 2019
khorevaa added a commit that referenced this issue Dec 9, 2019
Исправления по #19, #20 и #21
@khorevaa
Copy link
Member

khorevaa commented Dec 9, 2019

Исправлено

@khorevaa khorevaa closed this as completed Dec 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants