我在用
fid = fopen('fgfg.txt');
Run Code Online (Sandbox Code Playgroud)
打开一个文件.
有时在我设法关闭文件之前发生错误.在关闭Matlab之前,我无法对该文件做任何事情.
如果发生错误,如何关闭文件?
由于MATLAB中的try-catch块没有finally子句,我发现自己编写了大量代码,如下所示:
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);
Run Code Online (Sandbox Code Playgroud)
我发现在两个地方都有fclose功能,很容易出错.
这样做有更好的方法吗?