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