Skip to content

Commit

Permalink
artbear#33 Вернул обход ошибки, связанной с переменными среды при ста…
Browse files Browse the repository at this point in the history
…рте нового процесса
  • Loading branch information
arkuznetsov committed May 29, 2019
1 parent 307c735 commit cd8ba20
Showing 1 changed file with 24 additions and 7 deletions.
31 changes: 24 additions & 7 deletions src/Команда.os
Original file line number Diff line number Diff line change
Expand Up @@ -394,15 +394,32 @@
Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, ПерехватыватьПотоки, ПерехватыватьПотоки, КодировкаВывода, ПеременныеСредыПроцесса);
КонецЕсли;


Исключение

Инфо = ИнформацияОбОшибке();

ВызватьИсключение Инфо.ПодробноеОписаниеОшибки();
Исключение

Инфо = ИнформацияОбОшибке();

// TODO код проверки на регулярку (ниже) убрать после исправления в движке OneScript
РегуляркаОшибкиПеременныхСреды = Новый РегулярноеВыражение("\(System\.ArgumentException\):[^:]+:.*HOME[^:]+:.*home");
Если РегуляркаОшибкиПеременныхСреды.Совпадает(Инфо.Описание) Тогда
Лог.Предупреждение("Возникла ошибка, связанная с переменными среды при старте нового процесса
|%1
|
|Выполняю старт процесса без указания переменных среды.", Инфо.Описание);

Лог.Отладка("Полное описание ошибки:
|%1", Инфо.ПодробноеОписаниеОшибки());

Если КодировкаВывода = Неопределено Тогда
Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, ПерехватыватьПотоки, ПерехватыватьПотоки);
Иначе
Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, ПерехватыватьПотоки, ПерехватыватьПотоки, КодировкаВывода);
КонецЕсли;
Иначе
ВызватьИсключение Инфо.ПодробноеОписаниеОшибки();
КонецЕсли;

КонецПопытки;

Процесс.Запустить();

Возврат Процесс;
Expand Down

0 comments on commit cd8ba20

Please sign in to comment.