Switching to further part of code from conditional statement 'if'
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Joanna Przeworska
am 4 Feb. 2021
Beantwortet: Joanna Przeworska
am 11 Feb. 2021
Suppose I have the following structure of code (below). The point is, in 2 different parts of my program I have exactly the same code, which is marked with the letter 'A'. Is there any way to avoid the repetition of the code A in conditional statement 'if' but instead, force the program to move to the further part of the program?
for n = 1:length(vectorOfNames)
% ...
try
% function that may return an error
catch
% error handling
if ~isempty(vectorOfNames2{n}) % if condition is True
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% A
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
else isempty(vectorOfNames2{n}) % if condition is False
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% B
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end
continue
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% A
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (2)
Walter Roberson
am 4 Feb. 2021
No. Use functions to avoid repeating code.
Your example could be written as
try
something
catch
if isempty(whatever)
B
end
end
A
0 Kommentare
Joanna Przeworska
am 5 Feb. 2021
1 Kommentar
Walter Roberson
am 5 Feb. 2021
Acondition = true;
try
something
catch
if isempty(whatever)
B
continue
end
Acondition = C;
end
if Acondition
A
end
Siehe auch
Kategorien
Mehr zu Entering Commands finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!