システムコールのエラーに対応する例外を集めたモジュールである。

モジュールといっても、特にメソッドを提供しているわけではなく、簡単に言えば、エラーコードの定義集ということになる。
Rubyリファレンスマニュアルには、120を優に超える定義があるが、実際にそのエラーが存在するかどうかはオペレーティングシステムに依存するのである。

使用方法は、実際にコードを見ていただくほうが早いだろう。

001 | #ディレクトリを作成するプログラム
002 | 
003 | begin
004 |     #ディレクトリrubyiw作成を試みる。
005 |     Dir::mkdir("rubyiw")
006 | rescue Errno::EEXIST
007 |     #既にディレクトリが存在する。
008 |     puts "rubyiwディレクトリは既に存在します"
009 | end 

この実に簡単なプログラムは、やっていることも実に簡単で、自分が動いているディレクトリ(フォルダ)の直下にrubyiwというフォルダを作成するのである。

Dir::mkdirは、オペレーティングシステムレベルで準備されているディレクトリ作成のシステムコールを呼び出すわけだが、厄介なことにエラーとなってしまうのである(当たり前だ)。

そのときにオペレーティングシステムは、とあるエラーコードをアプリケーションに向けて返すわけだが、それがRuby上では、Errno::EEXISTということになるのだ。


最終更新:2009年03月10日 22:32