Как вы обрабатываете ресурсы в MATLAB безопасным способом? (как «попробуй… наконец»)
Поскольку в блоке try-catch в MATLAB нет окончательного предложения, я нахожу, что пишу много кода, подобного следующему:
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);
Я считаю, что наличие функции fclose в двух местах ужасно и подвержено ошибкам.
Есть ли лучший способ сделать это?