【Ruby3.x】Errno::ESHUTDOWN::Errno定数の使い方
Errno定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Errno定数は、Errno::ESHUTDOWNクラスにおいて、特定のシステムエラーコードの数値そのものを表す定数です。RubyのErrnoモジュールは、システムコールが失敗した際に発生する様々なオペレーティングシステムレベルのエラーを、それぞれ専用のクラスとして提供しています。Errno::ESHUTDOWNもその一つで、主にネットワーク通信の分野で、ソケットが既にシャットダウン(閉鎖)された状態であるにもかかわらず、そのソケットに対してデータの送受信などの操作を行おうとした場合に報告されるエラーを扱います。
このErrno定数は、Errno::ESHUTDOWNが指し示すエラー、つまり「ソケットがシャットダウンされた後の操作」という状態をオペレーティングシステムが識別するために用いる、固有の数値(エラーコード)を保持しています。例えば、C言語のerrno.hで定義されているESHUTDOWNマクロが持つ数値に相当します。プログラマが直接この数値を参照する場面は少ないかもしれませんが、エラーハンドリングにおいて特定のシステムエラーが発生したことを識別したり、システムが報告するエラーの具体的な原因をデバッグする際に、この内部的なエラーコードが役立つことがあります。
構文(syntax)
1begin 2 # ここで Errno::ESHUTDOWN 例外が発生する可能性のある処理を記述 3 # 例として、強制的に Errno::ESHUTDOWN を発生させる 4 raise Errno::ESHUTDOWN, "システムシャットダウン中のため、操作を実行できません。" 5rescue Errno::ESHUTDOWN => e 6 # Errno::ESHUTDOWN 例外を捕捉した場合の処理 7 puts "システムエラーを捕捉しました: #{e.message}" 8end
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません