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