Эй, я полагаю, вы могли бы использовать комбинацию попыток, чтобы справиться с несколько неожиданной ошибкой и что-то сделать.
В качестве примера,
function [ output ] = test(input)
Bmat = [ 1 1 1 ] % Some matrix
try
input*B;
catch ME
disp(ME.message)
return; % This is the statement that exits your function
end
end
Если запустить
>> test([1 1 1])
Это не будет работать, так как от переменных «вход» и «B» имеют несовпадающие внутренние размеры, но «попробовать» оператор будет вызывать исключение из «catch» и делать то, что вы хотите оттуда. В этом случае он отобразит сообщение об ошибке в командной строке и выйдет из функции.
Переменная «ME» здесь является всего лишь объектом MATLAB для обработки ошибок, а ME.message хранит строку, содержащую тип ошибки, которую поймал интерпретатор.
Я только что снова прочитал ваш вопрос ... Я предполагаю, что команда «return» - это то, что вы действительно на самом деле, вы сможете использовать ее для выхода из любой логики или операторов цикла, а также функций.
Вы можете прочитать больше о команде «возвращение» и обработки из документации MATLAB ошибки,
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/return.html
Если есть несколько мест, где функция требует, чтобы выйти, это решение приводит к дереву бега это или нет какие-либо утверждения. Непрактичный. – Argyll