MATLAB'daki try-catch bloğunun son cümlesi olmadığından, kendimi aşağıdaki gibi bir çok kod yazarken buluyorum:MATLAB'daki kaynakları özel durum güvenli bir şekilde nasıl ele alırsınız? ("... son olarak dene" gibi)
fid = fopen(filename);
if fid==-1
error('Couldn''t open file');
end
try
line = getl(fid);
catch ME
fclose(fid);
rethrow ME;
end
fclose(fid);
İki yerde fclose işlevini çirkin ve hataya eğilimli olarak buluyorum.
Bunu yapmak için daha iyi bir yolu var mı?
Bu sadece küçük bir noktadır, ancak kodunuzdaki "line" değişken adını kullanmamanızı öneririm. LINE diye adlandırılan bir yerleşik fonksiyon olduğundan, bazı karışıklığa neden olabilir. – gnovice
Ayrıca http://stackoverflow.com/questions/8847866/how-can-i-close-files-that-are-left-open-after-an-error adresini ziyaret edin –