How to handle load errors.

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.

 Risposta accettata

Walter Roberson
Walter Roberson il 27 Feb 2019
try
filestruct = load(FileName);
catch ME
bad_files{end+1} = FileName;
continue; %skip computing with this file
end

3 Commenti

Unfortunately I am getteing the following error:
Error in test_files (line 66)
bad_files{end+1} = fileName;
Walter Roberson
Walter Roberson il 27 Feb 2019
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 {}
Thanks, after I initialized it seems to work.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by