Errno 模块
Ruby 异常对象是 Exception
的子类。但是,操作系统通常使用纯整数报告错误。 Module
Errno
会动态创建,以将这些操作系统错误映射到 Ruby 类,每个错误号都会生成其自己的 SystemCallError
子类。由于子类是在模块 Errno
中创建的,因此其名称将以 Errno::
开头。
Errno::
类的名称取决于 Ruby 运行的环境。在典型的 Unix 或 Windows 平台上,有 Errno
类,如 Errno::EACCES、Errno::EAGAIN、Errno::EINTR 等。
与特定错误对应的整数操作系统错误号可作为类常量 Errno::
error::Errno
获得。
Errno::EACCES::Errno #=> 13 Errno::EAGAIN::Errno #=> 11 Errno::EINTR::Errno #=> 4
特定平台上的操作系统错误的完整列表可作为 Errno
的常量获得。
Errno.constants #=> :E2BIG, :EACCES, :EADDRINUSE, :EADDRNOTAVAIL, ...