class Errno::EXXX
クラスの継承リスト:
BasicObject
Kernel
Object
Exception
StandardError
SystemCallError
Errno::EXXX
要約
システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。
Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
実際には「EXXX」というクラスが定義されているわけではありません。「XXX」の部分は下記に列挙したような各種のエラー名が入ります。例えば、File.open の内部でシステムコール open(2) がエラーコード ENOENT を返すと、Rubyは例外 Errno::ENOENT を発生させます。
Ruby は処理系がコンパイルされるときに、デフォルトで下記リストのような Errno::EXXX クラスを定義しようとします。動作環境に EXXX というエラーコードが存在しない場合、Rubyはその Errno::EXXX を Errno::NOERROR の別名として定義します。
また、以下の一覧にはないシステムエラーが発生した場合は、
Errno::EXXX (XXX はエラー番号を表す 3 桁の数字)
という名前の例外クラスが自動的に作成され、発生します。
(これは Ruby 内部でのみ行われ、 Ruby プログラム上で SystemCallError.new に一覧にないコードを渡してもクラスは作成されません)
それぞれの例外が発生し得るケースについては、この項では記述しません。例外を発生する各メソッドのマニュアルおよびオペレーティングシステムのマニュアルを参照してください。
エラー名リスト
個々の例外の意味はシステム依存です。システムのマニュアル errno(3) を参照してください。
Microsoft Windows システムにおいては http://msdn2.microsoft.com/ja-jp/library/5814770t.aspx を参照してください。
EPERM
ENOENT
ESRCH
EINTR
EIO
ENXIO
E2BIG
ENOEXEC
EBADF
ECHILD
EAGAIN
ENOMEM
EACCES
EFAULT
ENOTBLK
EBUSY
EEXIST
EXDEV
ENODEV
ENOTDIR
EISDIR
EINVAL
ENFILE
EMFILE
ENOTTY
ETXTBSY
EFBIG
ENOSPC
ESPIPE
EROFS
EMLINK
EPIPE
EDOM
ERANGE
EDEADLK
ENAMETOOLONG
ENOLCK
ENOSYS
ENOTEMPTY
ELOOP
EWOULDBLOCK
ENOMSG
EIDRM
ECHRNG
EL2NSYNC
EL3HLT
EL3RST
ELNRNG
EUNATCH
ENOCSI
EL2HLT
EBADE
EBADR
EXFULL
ENOANO
EBADRQC
EBADSLT
EDEADLOCK
EBFONT
ENOSTR
ENODATA
ETIME
ENOSR
ENONET
ENOPKG
EREMOTE
ENOLINK
EADV
ESRMNT
ECOMM
EPROTO
EMULTIHOP
EDOTDOT
EBADMSG
EOVERFLOW
ENOTUNIQ
EBADFD
EREMCHG
ELIBACC
ELIBBAD
ELIBSCN
ELIBMAX
ELIBEXEC
EILSEQ
ERESTART
ESTRPIPE
EUSERS
ENOTSOCK
EDESTADDRREQ
EMSGSIZE
EPROTOTYPE
ENOPROTOOPT
EPROTONOSUPPORT
ESOCKTNOSUPPORT
EOPNOTSUPP
EPFNOSUPPORT
EAFNOSUPPORT
EADDRINUSE
EADDRNOTAVAIL
ENETDOWN
ENETUNREACH
ENETRESET
ECONNABORTED
ECONNRESET
ENOBUFS
EISCONN
ENOTCONN
ESHUTDOWN
ETOOMANYREFS
ETIMEDOUT
ECONNREFUSED
EHOSTDOWN
EHOSTUNREACH
EALREADY
EINPROGRESS
ESTALE
EUCLEAN
ENOTNAM
ENAVAIL
EISNAM
EREMOTEIO
EDQUOT
ECANCELED
EKEYEXPIRED
EKEYREJECTED
EKEYREVOKED
EMEDIUMTYPE
ENOKEY
ENOMEDIUM
ENOTRECOVERABLE
EOWNERDEAD
ERFKILL
EAUTH
EBADRPC
EDOOFUS
EFTYPE
ENEEDAUTH
ENOATTR
ENOTSUP
EPROCLIM
EPROCUNAVAIL
EPROGMISMATCH
EPROGUNAVAIL
ERPCMISMATCH
EIPSEC
EHWPOISON
ECAPMODE
ENOTCAPABLE
目次
特異メソッド
定数
継承しているメソッド
SystemCallErrorから継承しているメソッド
Exceptionから継承しているメソッド
特異メソッド
new() -> Errno::EXXX
[permalink ][rdoc ]
new(error_message) -> Errno::EXXX
Errno::EXXX オブジェクトを生成して返します。
[PARAM] error_message:
エラーメッセージを表す文字列
p Errno::ENOENT.new
# => #<Errno::ENOENT: No such file or directory>
p Errno::ENOENT.new('message')
# => #<Errno::ENOENT: No such file or directory - message>
定数
Errno -> Integer
[permalink ][rdoc ]
Errno::EXXX の各クラスに対応するシステム依存のエラーコード値(整数)です。
例:
p Errno::EAGAIN::Errno # => 11
p Errno::EWOULDBLOCK::Errno # => 11