Skip to content

Commit 66b4e04

Browse files
committed
Обход проблемы OneScript #315
Если скрипт не является стартовым, вместо завершения работы системы использую выброс исключения
1 parent 3d2ea65 commit 66b4e04

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/gitsync.os

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@
447447
ИмяФайлаНастроек = Параметры["ПутьКНастройкам"];
448448
Если ИмяФайлаНастроек = Неопределено Тогда
449449
ВывестиСправкуПоКомандам("all");
450-
ЗавершитьРаботу(1);
450+
ЗавершитьСкрипт(1);
451451
КонецЕсли;
452452

453453
Если Параметры["-log"] <> Неопределено Тогда
@@ -539,6 +539,15 @@
539539

540540
КонецПроцедуры
541541

542+
Процедура ЗавершитьСкрипт(Знач КодВозврата)
543+
ИмяСтартовогоСкрипта = Новый Файл(СтартовыйСценарий().Источник).Имя;
544+
ИмяТекущегоСкрипта = Новый Файл(ТекущийСценарий().Источник).Имя;
545+
Если ИмяСтартовогоСкрипта = ИмяТекущегоСкрипта Тогда
546+
ЗавершитьРаботу(КодВозврата);
547+
Иначе
548+
ВызватьИсключение Новый ИнформацияОбОшибке("Завершаем работу скрипта с кодом возврата " + КодВозврата, Новый Структура("КодВозврата", КодВозврата));
549+
КонецЕсли;
550+
КонецПроцедуры
542551
///////////////////////////////////////////////////////////////////
543552
// Точка входа в приложение
544553

@@ -553,13 +562,13 @@
553562
ПоказатьИнформациюОПараметрахКоманднойСтроки();
554563
Лог.Ошибка("Указаны некорректные аргументы командной строки");
555564
УдалитьВременныеФайлыПриНеобходимости();
556-
ЗавершитьРаботу(1);
565+
ЗавершитьСкрипт(1);
557566
КонецЕсли;
558567
УдалитьВременныеФайлыПриНеобходимости();
559568
Лог.Закрыть();
560569
Исключение
561570
Лог.Ошибка(ОписаниеОшибки());
562571
УдалитьВременныеФайлыПриНеобходимости();
563572
Лог.Закрыть();
564-
ЗавершитьРаботу(1);
573+
ЗавершитьСкрипт(1);
565574
КонецПопытки;

0 commit comments

Comments
 (0)