stat は例外をなげるべきか

% ruby -e 'File.stat("HOGE")'
-e:1:in `stat': No such file or directory - HOGE (Errno::ENOENT)
	from -e:1
% python -c 'import os; os.stat("HOGE")'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
OSError: [Errno 2] No such file or directory: 'HOGE'
% perl -e 'use autodie; stat("HOGE")'
% perl -e 'use autodie "stat"; stat("HOGE")'
Can't stat('HOGE'): No such file or directory at -e line 1

まあ、そういう感じ。キャッシュをみるときとか、stat() で存在確認してから mtime みるみたいなことしたいときとかあるし、例外はなげない方がこのみ(そういうときに例外キャッチとかわざわざしたくない)。

Published: 2012-03-09(Fri) 03:58