реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> MATLAB, выход из скрипта
Herz
сообщение Jun 6 2018, 19:13
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 10 930
Регистрация: 23-11-05
Пользователь №: 11 287



У меня в процессе выполнения скрипта проверяется некое условие. Если оно не выполняется, дальнейшие вычисления можно не производить (всё равно будет ошибка). Хотелось бы, чтобы выполнение скрипта прерывалось и осуществлялся выход в главное (командное) окно.
Сейчас в таком случае я вывожу окошко с сообщением функцией msgbox, но после его закрытия скрипт продолжает "бежать" до того, как столкнётся с ошибкой.
В инете способа решения такой проблемы не нашёл. Способ try/catch, кажется, не то, что нужно. Может, кому приходилось делать подобное?
Go to the top of the page
 
+Quote Post
alexunder
сообщение Jun 6 2018, 20:33
Сообщение #2


unexpected token
****

Группа: Свой
Сообщений: 894
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



return вроде бы. Прервет исполнение текущей функции и вернет в вызывающую.
А вот еще вариант.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Jun 6 2018, 21:03
Сообщение #3


ʕʘ̅͜ʘ̅ʔ
****

Группа: Свой
Сообщений: 999
Регистрация: 3-05-05
Пользователь №: 4 691



doc error
doc assert
Go to the top of the page
 
+Quote Post
Herz
сообщение Jun 7 2018, 07:42
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 10 930
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(alexunder @ Jun 6 2018, 23:33) *
return вроде бы. Прервет исполнение текущей функции и вернет в вызывающую.

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

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

работают, спасибо. Но выдают ошибку в командное окно, что, в общем-то, не страшно, но излишне и отвлекает. Кстати, всё отличие error от assert, как я понял, только в том, что не проверяется условие?
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Jun 23 2018, 18:59
Сообщение #5


ʕʘ̅͜ʘ̅ʔ
****

Группа: Свой
Сообщений: 999
Регистрация: 3-05-05
Пользователь №: 4 691



На здоровье. Я не знаю, как у вас все устроено, но если мои вычисления не доходят до конца, то мне было бы интересно об этом узнать.

Цитата(Herz @ Jun 7 2018, 11:42) *
работают, спасибо. Но выдают ошибку в командное окно, что, в общем-то, не страшно, но излишне и отвлекает.
Go to the top of the page
 
+Quote Post
Herz
сообщение Jun 24 2018, 10:01
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 930
Регистрация: 23-11-05
Пользователь №: 11 287



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

А я для этого перед выходом msgbox использую, чтобы показать, почему дальнейшие вычисления не имеют смысла. Информативнее и даёт понять, что не с алгоритмом проблема или ошибкой в коде.
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Jun 25 2018, 09:20
Сообщение #7


ʕʘ̅͜ʘ̅ʔ
****

Группа: Свой
Сообщений: 999
Регистрация: 3-05-05
Пользователь №: 4 691



Я стараюсь разделять скрипты для расчетов и для визуализации.

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

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

Цитата(Herz @ Jun 24 2018, 14:01) *
А я для этого перед выходом msgbox использую...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th August 2018 - 21:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01154 секунд с 7
ELECTRONIX ©2004-2016