【Ruby3.x】Errno::ENETUNREACH::Errno定数の使い方
Errno定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Errno定数は、Rubyにおいてシステムコールエラーに関連する定数を表すものです。これらの定数は、オペレーティングシステムがシステムコール実行時に発生させた特定のエラーコードに対応しています。Rubyでは、このErrnoモジュール内に、各エラーコードに対応する例外クラスが定数として定義されています。例えば、Errno::ENETUNREACHは、ネットワークに到達できないというエラーを表すErrnoモジュール内のクラスであり、これもまた定数として扱われます。
システムエンジニアがプログラムを開発する際、ファイルの読み書きやネットワーク通信など、OSと連携する処理でエラーが発生することがあります。そのような場合、RubyはErrno::EACCES(アクセス拒否)、Errno::ENOENT(ファイルやディレクトリが存在しない)といった具体的なErrno定数(エラークラス)を例外として発生させます。これにより、開発者は発生したエラーの種類を正確に特定し、rescue節などを用いて適切なエラーハンドリングを行うことができます。Errno定数は、プログラムが外部環境の変化に柔軟に対応し、安定して動作するための重要な仕組みを提供しています。
構文(syntax)
1begin 2 # ネットワーク接続の試行など、システムコールが失敗する可能性のある処理 3 # 例: Socket.open('unreachable.example.com', 80) 4 raise Errno::ENETUNREACH, "Network is unreachable" 5rescue Errno::ENETUNREACH => e 6 puts "ネットワークに到達できません: #{e.message}" 7end
引数(parameters)
引数なし
引数はありません
戻り値(return)
Module
Errno::ENETUNREACH は、ネットワークに到達できないエラーを示す定数で、モジュールとして定義されています。