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