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

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

Модератор: immortal

Ответить
Ivan
Сообщения: 1474
Зарегистрирован: Сб окт 12, 2013 11:03 pm

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

Сообщение Ivan »

Внимание!!!
Не используйте 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
Откуда: Минск, Беларусь
Контактная информация:

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

Сообщение sergejey »

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

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

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

Сообщение Ivan »

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

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

Сообщение jax1 »

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

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

Сообщение kawkay »

Т.е. если у меня в объекте в MoneyExchange- в методе update написано
SPOILERSPOILER_SHOW
$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
Сообщения: 1474
Зарегистрирован: Сб окт 12, 2013 11:03 pm

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

Сообщение Ivan »

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