I have a large number of files to read and proces. A small percentage of these files are corrupted. I use the load() command to load individual files in a parfor loop statement. Unfortunately my program stops ececution when one of these corrupt files gives an error when loading.
How could I continue execution? Buy this I mean advancing the loop variable and not processing the data from faulty file?
I also need to record the name of the file that triggered the error.

 採用された回答

Walter Roberson
Walter Roberson 2019 年 2 月 27 日

0 投票

try
filestruct = load(FileName);
catch ME
bad_files{end+1} = FileName;
continue; %skip computing with this file
end

3 件のコメント

Vahe Ghazikhanian
Vahe Ghazikhanian 2019 年 2 月 27 日
Unfortunately I am getteing the following error:
Error in test_files (line 66)
bad_files{end+1} = fileName;
Walter Roberson
Walter Roberson 2019 年 2 月 27 日
I need to see the surrounding code.
In my sample code, FileName should be replaced by the name of the variable that the file name is stored in.
bad_files should be initialized as {}
Vahe Ghazikhanian
Vahe Ghazikhanian 2019 年 2 月 28 日
Thanks, after I initialized it seems to work.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by