Как вы обрабатываете ресурсы в 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 в двух местах ужасно и подвержено ошибкам.

Есть ли лучший способ сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос