안녕하세요 저는 예상치 못한 오류를 처리하기 위해 try-catch 조합을 사용할 수 있다고 생각합니다. 당신이
>> test([1 1 1])
그것은 변수 '입력'과 'B'일치하지 않는 내부 차원이 있기 때문에 작동하지 않습니다 실행,하지만 '시도'경우 예를 들어
,
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
문은 'catch'에 대한 예외를 throw하고 거기에서 원하는 것을 수행합니다. 이 경우 명령 행에 오류 메시지가 표시되고 기능이 종료됩니다.
여기서 'ME'변수는 오류 처리를위한 MATLAB 객체이며 ME.message는 해석기가 포착 한 오류 유형을 포함하는 문자열을 저장합니다.
방금 질문을 다시 읽었습니다 ... 'return'명령이 실제로 당신이 수행 한 것으로 가정합니다. 논리 또는 루프 문을 종료하고 함수를 종료 할 수 있습니다.
는 당신은 '복귀'명령과 MATLAB 문서에서 오류 처리에 대한 자세한 내용을보실 수 있습니다
는
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/return.html
함수가 종료 할 필요가 여러 위치가있는 경우,이 솔루션은 실행의 나무에 이르게 if 문이나 if 문이 아닙니다. 비실용적. – Argyll