Ошибки, баги, вопросы - страница 1519

 
Vasyl Nosal:
Вы тему видите в какой пишите?

Вижу. А где тут ошибка, баг или вопрос?

Есть претензия "дайте мне, я хочу"

[Удален]  
Slawa:

Здравствуйте. Можете прокомментировать?

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Alexey Kozitsyn, 2016.02.24 17:46

У меня тоже есть вопрос про остановку программ. Можно ли в языки добавить "универсальную" функцию быстрой выгрузки для любого типа программ? Или добавить функции типа ExpertRemove() для индикаторов и скриптов. Можно, конечно, решить проблему путем деления на 0 или выходом за пределы массива. Но, как-то, не красиво.


 
Alexey Kozitsyn:

Здравствуйте. Можете прокомментировать?


А разве ExpertRemove() не останавливает индикаторы и скрипты ?
[Удален]  
Vladimir Pastushak:
А разве ExpertRemove() не останавливает индикаторы и скрипты ?

В индикаторах запрещены следующие функции:

 
Alexey Kozitsyn:

Здравствуйте. Можете прокомментировать?


Другого способа пока нет.

Мы обсуждали введение новой команды exit, которая немедленно прекращала бы исполнение программы, но тут есть нерешённые вопросы

 
Vladimir Pastushak:
А разве ExpertRemove() не останавливает индикаторы и скрипты ?
Останавливает, но не сразу
 
Alexey Kozitsyn:

В индикаторах запрещены следующие функции:

Сейчас уже трудно сказать, почему запретили ExpertRemove в индикаторах
[Удален]  
Slawa:

Другого способа пока нет.

Мы обсуждали введение новой команды exit, которая немедленно прекращала бы исполнение программы, но тут есть нерешённые вопросы

Очень жаль. Да, exit() как в С++ была бы кстати. Сейчас же бывает тянуть ответ вложенных функций в вызывающую достаточно проблематично. Да и универсальных библиотек не написать.
 
Alexey Kozitsyn:
Очень жаль. Да, exit() как в С++ была бы кстати. Сейчас же бывает тянуть ответ вложенных функций в вызывающую достаточно проблематично. Да и универсальных библиотек не написать.
как вариант создать отдельно функцию удаления всех объектов программы и при выполнении условия для удаления самой программы из терминала, ее вызвать, а вслед за ней уже и ExpertRemove(), в этом случае должно все быстрее завершиться... хотя не факт :)
[Удален]  
coderex:
как вариант создать отдельно функцию удаления всех объектов программы и при выполнении условия для удаления самой программы из терминала, ее вызвать, а вслед за ней уже и ExpertRemove(), в этом случае должно все быстрее завершиться... хотя не факт :)

Как я уже ранее писал и до меня было предложено в статье на этом сайте, в случае ошибки в глубоко вложенной функции, можно вызвать деление на 0 или выход за пределы массива. Но не красиво это.

Да, и дело тут не только в ООП (насколько я понял, Вы о нем). Просто - если ошибку невозможно исправить - программа завершается.