Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: MATLAB, выход из скрипта
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
Herz
У меня в процессе выполнения скрипта проверяется некое условие. Если оно не выполняется, дальнейшие вычисления можно не производить (всё равно будет ошибка). Хотелось бы, чтобы выполнение скрипта прерывалось и осуществлялся выход в главное (командное) окно.
Сейчас в таком случае я вывожу окошко с сообщением функцией msgbox, но после его закрытия скрипт продолжает "бежать" до того, как столкнётся с ошибкой.
В инете способа решения такой проблемы не нашёл. Способ try/catch, кажется, не то, что нужно. Может, кому приходилось делать подобное?
alexunder
return вроде бы. Прервет исполнение текущей функции и вернет в вызывающую.
А вот еще вариант.
Fat Robot
doc error
doc assert
Herz
Цитата(alexunder @ Jun 6 2018, 23:33) *
return вроде бы. Прервет исполнение текущей функции и вернет в вызывающую.

Кстати, да. Работает. Не думал, что подходит не только для функции, но и для скрипта. Спасибо.
Цитата

Это находил, но немного коряво получается, как там и указывал участник. Эти приёмы:
Цитата(Fat Robot @ Jun 7 2018, 00:03) *
doc error
doc assert

работают, спасибо. Но выдают ошибку в командное окно, что, в общем-то, не страшно, но излишне и отвлекает. Кстати, всё отличие error от assert, как я понял, только в том, что не проверяется условие?
Fat Robot
На здоровье. Я не знаю, как у вас все устроено, но если мои вычисления не доходят до конца, то мне было бы интересно об этом узнать.

Цитата(Herz @ Jun 7 2018, 11:42) *
работают, спасибо. Но выдают ошибку в командное окно, что, в общем-то, не страшно, но излишне и отвлекает.
Herz
Цитата(Fat Robot @ Jun 23 2018, 21:59) *
На здоровье. Я не знаю, как у вас все устроено, но если мои вычисления не доходят до конца, то мне было бы интересно об этом узнать.

А я для этого перед выходом msgbox использую, чтобы показать, почему дальнейшие вычисления не имеют смысла. Информативнее и даёт понять, что не с алгоритмом проблема или ошибкой в коде.
Fat Robot
Я стараюсь разделять скрипты для расчетов и для визуализации.

Для 'расчётных' скриптов gui стараюсь не использовать. Это позволяет
- Экономить память, что ценно при параллельных вычислениях
- Считать на удаленной машине, используя только доступ к командной строке
- Отлаживать mex-функции

Для скриптов визуализации - там веселый карнавал, конечно.

Цитата(Herz @ Jun 24 2018, 14:01) *
А я для этого перед выходом msgbox использую...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.