class Errno
Overview
Errno wraps and gives access to libc's errno. This is mostly useful when dealing with C libraries.
This class is the exception thrown when errno errors are encountered.
Defined in:
errno.crConstant Summary
-
E2BIG =
LibC::E2BIG
-
Argument list too long
-
EACCES =
LibC::EACCES
-
Permission denied
-
EADDRINUSE =
LibC::EADDRINUSE
-
Address already in use
-
EADDRNOTAVAIL =
LibC::EADDRNOTAVAIL
-
Can't assign requested address
-
EAFNOSUPPORT =
LibC::EAFNOSUPPORT
-
Address family not supported by protocol family
-
EAGAIN =
LibC::EAGAIN
-
Resource temporarily unavailable
-
EALREADY =
LibC::EALREADY
-
Operation already in progress
-
EBADF =
LibC::EBADF
-
Bad file descriptor
-
EBADMSG =
LibC::EBADMSG
-
Bad message
-
EBUSY =
LibC::EBUSY
-
Device / Resource busy
-
ECANCELED =
LibC::ECANCELED
-
Operation canceled
-
ECHILD =
LibC::ECHILD
-
No child processes
-
ECONNABORTED =
LibC::ECONNABORTED
-
Software caused connection abort
-
ECONNREFUSED =
LibC::ECONNREFUSED
-
Connection refused
-
ECONNRESET =
LibC::ECONNRESET
-
Connection reset by peer
-
EDEADLK =
LibC::EDEADLK
-
Resource deadlock avoided
-
EDESTADDRREQ =
LibC::EDESTADDRREQ
-
Destination address required
-
EDOM =
LibC::EDOM
-
Numerical argument out of domain
-
EDQUOT =
LibC::EDQUOT
-
Disc quota exceeded
-
EEXIST =
LibC::EEXIST
-
File exists
-
EFAULT =
LibC::EFAULT
-
Bad address
-
EFBIG =
LibC::EFBIG
-
File too large
-
EHOSTDOWN =
LibC::EHOSTDOWN
-
Host is down
-
EHOSTUNREACH =
LibC::EHOSTUNREACH
-
No route to host
-
EIDRM =
LibC::EIDRM
-
Identifier removed
-
EILSEQ =
LibC::EILSEQ
-
Illegal byte sequence
-
EINPROGRESS =
LibC::EINPROGRESS
-
Operation now in progress
-
EINTR =
LibC::EINTR
-
Interrupted system call
-
EINVAL =
LibC::EINVAL
-
Invalid argument
-
EIO =
LibC::EIO
-
Input/output error
-
EISCONN =
LibC::EISCONN
-
Socket is already connected
-
EISDIR =
LibC::EISDIR
-
Is a directory
-
ELOOP =
LibC::ELOOP
-
Too many levels of symbolic links
-
EMFILE =
LibC::EMFILE
-
Too many open files
-
EMLINK =
LibC::EMLINK
-
Too many links
-
EMSGSIZE =
LibC::EMSGSIZE
-
Message too long
-
EMULTIHOP =
LibC::EMULTIHOP
-
Reserved
-
ENAMETOOLONG =
LibC::ENAMETOOLONG
-
File name too long
-
ENETDOWN =
LibC::ENETDOWN
-
Network is down
-
ENETRESET =
LibC::ENETRESET
-
Network dropped connection on reset
-
ENETUNREACH =
LibC::ENETUNREACH
-
Network is unreachable
-
ENFILE =
LibC::ENFILE
-
Too many open files in system
-
ENOBUFS =
LibC::ENOBUFS
-
No buffer space available
-
ENODATA =
LibC::ENODATA
-
No message available on STREAM
-
ENODEV =
LibC::ENODEV
-
Operation not supported by device
-
ENOENT =
LibC::ENOENT
-
No such file or directory
-
ENOEXEC =
LibC::ENOEXEC
-
Exec format error
-
ENOLCK =
LibC::ENOLCK
-
No locks available
-
ENOLINK =
LibC::ENOLINK
-
Reserved
-
ENOMEM =
LibC::ENOMEM
-
Cannot allocate memory
-
ENOMSG =
LibC::ENOMSG
-
No message of desired type
-
ENOPROTOOPT =
LibC::ENOPROTOOPT
-
Protocol not available
-
ENOSPC =
LibC::ENOSPC
-
No space left on device
-
ENOSR =
LibC::ENOSR
-
No STREAM resources
-
ENOSTR =
LibC::ENOSTR
-
Not a STREAM
-
ENOSYS =
LibC::ENOSYS
-
Function not implemented
-
ENOTBLK =
LibC::ENOTBLK
-
Block device required
-
ENOTCONN =
LibC::ENOTCONN
-
Socket is not connected
-
ENOTDIR =
LibC::ENOTDIR
-
Not a directory
-
ENOTEMPTY =
LibC::ENOTEMPTY
-
Directory not empty
-
ENOTRECOVERABLE =
LibC::ENOTRECOVERABLE
-
State not recoverable
-
ENOTSOCK =
LibC::ENOTSOCK
-
Socket operation on non-socket
-
ENOTTY =
LibC::ENOTTY
-
Inappropriate ioctl for device
-
ENXIO =
LibC::ENXIO
-
Device not configured
-
EOPNOTSUPP =
LibC::EOPNOTSUPP
-
Operation not supported on socket
-
EOVERFLOW =
LibC::EOVERFLOW
-
Value too large to be stored in data type
-
EOWNERDEAD =
LibC::EOWNERDEAD
-
Previous owner died
-
EPERM =
LibC::EPERM
-
Operation not permitted
-
EPFNOSUPPORT =
LibC::EPFNOSUPPORT
-
Protocol family not supported
-
EPIPE =
LibC::EPIPE
-
Broken pipe
-
EPROTO =
LibC::EPROTO
-
Protocol error
-
EPROTONOSUPPORT =
LibC::EPROTONOSUPPORT
-
Protocol not supported
-
EPROTOTYPE =
LibC::EPROTOTYPE
-
Protocol wrong type for socket
-
ERANGE =
LibC::ERANGE
-
Result too large
-
EREMOTE =
LibC::EREMOTE
-
Too many levels of remote in path
-
EROFS =
LibC::EROFS
-
Read-only file system
-
ESHUTDOWN =
LibC::ESHUTDOWN
-
Can't send after socket shutdown
-
ESOCKTNOSUPPORT =
LibC::ESOCKTNOSUPPORT
-
Socket type not supported
-
ESPIPE =
LibC::ESPIPE
-
Illegal seek
-
ESRCH =
LibC::ESRCH
-
No such process
-
ESTALE =
LibC::ESTALE
-
Stale NFS file handle
-
ETIME =
LibC::ETIME
-
STREAM ioctl timeout
-
ETIMEDOUT =
LibC::ETIMEDOUT
-
Operation timed out
-
ETOOMANYREFS =
LibC::ETOOMANYREFS
-
Too many references: can't splice
-
ETXTBSY =
LibC::ETXTBSY
-
Text file busy
-
EUSERS =
LibC::EUSERS
-
Too many users
-
EWOULDBLOCK =
LibC::EWOULDBLOCK
-
Operation would block
-
EXDEV =
LibC::EXDEV
-
Cross-device link
Class Method Summary
-
.new(message, errno = Errno.value)
Creates a new Errno with the given message.
-
.value : LibC::Int
Returns the value of libc's errno.
-
.value=(value)
Sets the value of libc's errno.
Instance Method Summary
-
#errno : Int32
Returns the numeric value of errno.
Instance methods inherited from class Exception
backtrace
backtrace,
backtrace?
backtrace?,
callstack : CallStack?
callstack,
callstack=(callstack : CallStack?)
callstack=,
cause : Exception?
cause,
inspect_with_backtrace(io : IO)inspect_with_backtrace inspect_with_backtrace, message : String? message, to_s(io : IO) to_s
Class methods inherited from class Exception
new(message : String? = nil, cause : Exception? = nil)
new
Instance methods inherited from class Reference
==(other : self)==(other) ==, dup dup, hash hash, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference)
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Class methods inherited from class Reference
new
new
Instance methods inherited from class Object
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, class class, dup dup, hash hash, inspect(io : IO)
inspect inspect, itself itself, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, tap(&block) tap, to_json(io : IO)
to_json to_json, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ") to_pretty_json, to_s
to_s(io : IO) to_s, to_yaml(io : IO)
to_yaml to_yaml, try(&block) try
Class methods inherited from class Object
from_json(string_or_io, root : String) : selffrom_json(string_or_io) : self from_json, from_yaml(string_or_io) : self from_yaml
Class Method Detail
Creates a new Errno with the given message. The message will
have concatenated the message denoted by Errno#value
.
Typical usage:
err = LibC.some_call
if err == -1
raise Errno.new("some_call")
end