フィルターのクリア

How to skip error and continue to execute the code

179 ビュー (過去 30 日間)
Jason
Jason 2016 年 3 月 9 日
コメント済み: Jason 2016 年 3 月 11 日
I have a for loop, but when I faced the following error, my script will stop executing. How can I do to skip the error and continue to execute the code?
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
Error in ReadinData (line 160)
NonData=[Weight;Height;Age];
I have loop like this
for i = 1:100
How can I record i when the error happen, so I can check after the problem execution.
  2 件のコメント
Geoff Hayes
Geoff Hayes 2016 年 3 月 9 日
Jason - wouldn't it be better to fix the error before continuing? The error message is telling you that the dimensions of your three variables are not compatible when trying to use the vertical concatenation. When this error occurs, what are the dimensions of Weight, Height, and Age?
Jason
Jason 2016 年 3 月 9 日
Thanks. I have a lot of data to read, some data may have problem, I think it is the data problem, instead of code problem, so I want to skip the data

サインインしてコメントする。

採用された回答

Titus Edelhofer
Titus Edelhofer 2016 年 3 月 9 日
Hi Jason,
one way would be to catch the error:
for i=1:100
try
NonData=[Weight;Height;Age];
% do something with your NonData
catch
fprintf('Inconsistent data in iteration %s, skipped.\n', i);
end
end
Titus
  3 件のコメント
Titus Edelhofer
Titus Edelhofer 2016 年 3 月 10 日
Sure, open a file
fid = fopen('output.err', 'wt');
and print to that file instead of to the screen
fprintf(fid, 'Inconsistent data in iteration %s, skipped.\n', i);
and close after the loop
fclose(fid);
Jason
Jason 2016 年 3 月 11 日
Thanks. May I know why do not you use? Any reason save a .err file type and 'wt'?
fid = fopen('output.txt', 'w');

サインインしてコメントする。

その他の回答 (1 件)

Stalin Samuel
Stalin Samuel 2016 年 3 月 9 日

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by