Может ли функция matlab, вызываемая внутри скрипта, вызвать сбой скрипта? - PullRequest
0 голосов
/ 31 октября 2018

Я запускаю скрипт, который вызывает функцию, и если внутри функции выполняется определенное условие, я хочу, чтобы все это просто завершилось (и этим я не имею в виду, что хочу закрыть Matlab, используя exit ). Это возможно? Я знаю, что могу использовать return или break для возврата к сценарию, однако я хочу, чтобы сценарий также останавливался, если выполняется это условие.

1 Ответ

0 голосов
/ 31 октября 2018

Единственная функция, о которой я знаю, это error. Это вызывает исключение, и, если никакие обработчики исключений с try и catch не установлены в вызывающем скрипте, завершатся и вернутся в командную строку. Что ты хочешь, насколько я понимаю. Он печатает сообщение об ошибке, хотя. Это может быть подавлено, если вы защищаете весь код в скрипте верхнего уровня с помощью обработчика try catch. Однако это должно быть связано с одной ошибкой, и это значительно усложняет отладку («остановка при ошибке»).

Дело в том, что единственный вариант использования, который я вижу для такого поведения (завершение всей программы при определенном событии), - это когда возникает невосстановимая ошибка, и в этом случае печать сообщения об ошибке действительно подходит.

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

...