读取下txt文件试了下用try except来容错file not found错误。发现运行的时候总是报错。
program Project1;
uses sysutils;
const file_name='C:\Users\FanXiaoLei\Desktop\15.txt';
var stextF:textfile;
s :string;
begin
try
begin
assignFile( stextF,file_name);
reset(stextF);
while not eof(stextF) do
begin
readln(stextF,s);
writeln(utf8decode(s));
end;
closeFile(stextF);
end;
except
on e:EInOutError do writeln('error:',e.message);
end;
readln;
end.
继续的话还会报错:
后来去英文论坛上爬了几楼。意思是try except不是很好的体验。可以通过其他的办法进行规避使用。后来有人提了下使用<运行不带调试>可以运行通过。我试了下确实可以的。
改用运行不调试以后就正常了:
当然规避使用也是可以的。我上面读取文件出现file not found错误可以先检查文件是否存在然后再决定后续处理就可以。
program readtxt;
uses sysutils;
const file_name='C:\Users\FanXiaoLei\Desktop\14.txt';
var stextF:textfile;
s :string;
begin
if FileExists(file_name) then
begin
assignFile( stextF,file_name);
reset(stextF);
while not eof(stextF) do
begin
readln(stextF,s);
writeln(utf8decode(s));
end;
closeFile(stextF);
end
else
writeln(utf8decode('文件未找到'));
readln;
end.
正常读取时: