Баг с exit в скрипте

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Баг с exit в скрипте

Сообщение Ivan » Пн янв 19, 2015 8:06 pm

Внимание!!!
Не используйте exit в скрипте. Приводит к непредсказуемым вылетам из цикла, без ошибки в логах. Просто останавливаются циклы. Причём не всегда а случайно.
Используйте return

Все кто использовал мои примеры или код из Connect, проверьте у себя их наличие и замените на return. Найти легко - в Панели управления в поиске введите exit. И везде где появится замените на return
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Баг с exit в скрипте

Сообщение sergejey » Пн янв 19, 2015 10:19 pm

Ну насчёт случайности я бы поспорил... :)
Но вообще совет актуальный.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Баг с exit в скрипте

Сообщение Ivan » Пн янв 19, 2015 10:50 pm

sergejey писал(а):Ну насчёт случайности я бы поспорил... :)
Но вообще совет актуальный.
Может не так выразился. Но у меня все остальные циклы работали 100%
А случайно я имел ввиду что он выходил не всегда. А закономерности я не прослеживал потому что мог проработать 5 часов, а мог и на 3 вызове вылететь.
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
jax1
Сообщения: 10
Зарегистрирован: Чт авг 20, 2015 2:25 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Баг с exit в скрипте

Сообщение jax1 » Чт авг 20, 2015 2:28 pm

Спасибо, буду знать. Хотя вылеты и в самом деле не постоянны
_______________________________________________
http://www.nordhouse.ru/materials/doma-iz-sosny/
kawkay
Сообщения: 53
Зарегистрирован: Вс апр 19, 2015 6:10 pm
Благодарил (а): 83 раза
Поблагодарили: 13 раз

Re: Баг с exit в скрипте

Сообщение kawkay » Чт авг 20, 2015 3:56 pm

Т.е. если у меня в объекте в MoneyExchange- в методе update написано
СпойлерПоказать
$file = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp ... ate("d/m/Y"));
if (!$file){
DebMes("CBR error");
exit;
}
, то exit меняю на return ?
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Баг с exit в скрипте

Сообщение Ivan » Чт авг 20, 2015 8:35 pm

Правильно. Реально ваш скрипт запускается как процедура. Потому exit тушит скрипт основной
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ответить