ファイル操作と例外

Rubyのファイル操作はCと違って例外を使うことを前提に設計されている。超入門書とはいえ簡単にでも例外と組み合わせて使う方法を解説しておくべきか。

そもそもファイル処理と一緒に使う例外にはどんなものがあるだろうか。頻発するのはファイルが読み込むファイルが存在しないケースかな。

File.open("dummy") #=> Errno::ENOENT: No such file or directory - dummy

これはreadでも同じ。

File.read("dummy") #=> Errno::ENOENT: No such file or directory - dummy

ほかにどんな例外があるのだろう。書きこみ権のないファイルを"w"でopenするとどうなるのか。

File.open("a.txt","w") #=> Errno::EACCES: Permission denied - a.txt

Errno::EACCESという例外が発生した。なんの例外でrescueすればいいんだろう。

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/3786

うーん、むずかしいなあ。
「たのしいRuby」を見るとファイルのところでは例外を使っていない模様。

コラムで取り上げればいいかな。