DEQ(Ruby初心者)です。

 Linux(ruby 1.6.2 (2000-12-25) [i686-linux])で

File.rename("not_existing_file", "to")

を実行するとErrno::ENOENTの例外が発生し、
Windows98(ruby 1.6.2 (2000-12-18) [i386-mingw32])で実行すると

C:\deq\prog\web\work\test.rb:11:in `rename': Bad file descriptor - 
"not_existing_file" (Errno::EBADF)
        from C:\deq\prog\web\work\test.rb:11

file to move doesn't exist

という感じで出力されます。(Linuxの方ではfile to move doesn't existは
表示されない) また上記Linux環境で

File.rename("from", "not_existing_dir/to")

を実行するとやはりErrno::ENOENTの例外が発生し、(ファイルfromは存在する)
上記Windows環境では

C:\deq\prog\web\work\test.rb:12:in `rename': No such process - 
"from" (Errno::ESRCH)
        from C:\deq\prog\web\work\test.rb:12

という感じで出力されます。

 で、WindowsでEBADFやESRCHの例外が起こるのは、そういうものなんでしょうか。
(errnoについてはよく知らないのですが、なんだか妙に感じましたので...)
 また file to move doesn't exist という出力を黙らせるには
どのようにすればいいのでしょうか。

---   DEQ / INOUE Kenji <deq / oct.zaq.ne.jp>
http://www.necoware.com/~deq/