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, ...