How do I continue to read files in a loop when an error occurs?

조회 수: 6 (최근 30일)
Aru E
Aru E 2020년 11월 29일
답변: Sreeram 2025년 5월 14일
Hello, I am trying to read .FIT files provided by my teacher and when reading the last bunch of them an error occurs. I tried using a try catch to continue, and it skips over and continues the loop, but I am not getting my value D.
Error using fitsinfo>openFile (line 760)
Unable to open file. File might be corrupt or filename might have unsupported characters.
for l = 100:999
try
fit2file = sprintf('x.000000%d.FIT',l);
D = fitsread(fit2file);
catch
end
end
Thank you in advance
  댓글 수: 2
Mario Malic
Mario Malic 2020년 11월 29일
Try reading the file that causes the error to check if it's corrupted. If It's not, consider renaming your files, 'x.00001.FIT' could be prone to failures.
Walter Roberson
Walter Roberson 2020년 11월 30일
your loop overwrites D with the last file content it was able to read, but does not define D if no files could be read.

댓글을 달려면 로그인하십시오.

답변 (1개)

Sreeram
Sreeram 2025년 5월 14일
Hi Aru,
I would like to second both Walter’s and Mario’s comments. In addition to their suggestions, I noticed that the same error message is thrown when a FITS file is inaccessible in MATLAB:
D = fitsread("nonexistent.fits");
Error using fitsinfo>openFile (line 760)
Unable to open file. File might be corrupt or filename might have unsupported characters.

Error in fitsinfo (line 212)
fid = openFile(filename);

Error in fitsread (line 103)
info = fitsinfo(filename);
So, you might want to double-check whether the file actually exists and is accessible. If the files are not accessible, you can add the directory containing the FITS files to the MATLAB path using "addpath".
Thanks!
Sreeram

카테고리

Help CenterFile 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