Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】IO::timeout()メソッドの使い方

timeoutメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

timeoutメソッドは、I/O操作のタイムアウト処理を実行するメソッドです。

このメソッドは、IOオブジェクトがネットワークソケットからの読み込みやファイルからの読み込みなど、入出力操作を行う際に、指定した時間を超えて処理が完了しない場合に、その操作を強制的に中断させるために使用されます。具体的には、メソッドの引数に秒単位でタイムアウト時間を指定し、IO操作がその時間内に終了しなかった場合、IO::TimeoutError例外が発生します。

これにより、プログラムが外部からの応答を無限に待ち続ける状況を回避し、システムの応答性や安定性を向上させることができます。例えば、不安定なネットワーク環境下でデータを読み込む際や、応答が遅い外部サービスと通信する際にこのメソッドを利用することで、処理の停止を防ぎ、適切なエラーハンドリングを行うことが可能になります。タイムアウトが発生しなかった場合は、I/O操作の結果がそのまま返されます。

このtimeoutメソッドはRuby 3.0以降で利用可能であり、それ以前のバージョンでは利用できない点にご注意ください。

構文(syntax)

1IO.timeout(seconds) do
2  # ここにIOオブジェクトに対する操作を記述
3end

引数(parameters)

Ruby: 引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ

関連プログラミング言語