为什么fopen
在文件名或路径不存在时抛出异常?
in_path = 'pqlcnaf8765mlr9f6lf2;
try
in_file_id = fopen(in_path,'r');
catch
error('Problem with input file.')
end
in_path
不存在。该调用返回in_file_id
,其值为-1
,但不会抛出任何异常。有人知道为什么吗?
答案 0 :(得分:3)
它没有设计为抛出异常,正如文档所述:
$count++;
您需要设计代码以抛出所需的异常:
If fopen cannot open the file, it returns -1.
修改强>
Re:第一条评论中的链接 - >展示了如何处理in_path = 'pqlcnaf8765mlr9f6lf2;
in_file_id = fopen(in_path,'r');
if in_file_id == -1
error('Problem with input file.')
end
块。由于try catch
行而导致错误。您可以在代码中执行相同的操作:
fread
说过我不认为链接是如何处理不存在的文件的好例子。