TCPクライアント(エラー処理付き)

前述したTCPクライアント例は、処理の概要を示したかったのでエラー処理がありませんでした。 ここでは、簡単なエラー処理を追加したいと思います。

サンプル

TCPSocket.openを実行中にエラーが起こると例外が発生します。 rubyでの例外を捕捉するにはbegin,rescue,else,ensureを使います。 beginは例外が発生する範囲を開始するためのものです。 rescueの後にエラーが起こったときの処理を書き、else後に例外が発生しなかったときの処理を書きます。 ensureにはエラーの有無には関係なく行われる処理を書きます。 最後にendで例外処理範囲を閉じます。

下記サンプルでは、エラーが発生するとエラーの内容を表示して終了します。 ソケットを使ったデータ送信は、エラーが発生せずにTCPの接続が成功した場合にのみ行われます。


#!/usr/bin/ruby

require "socket"

begin
  sock = TCPSocket.open("127.0.0.1", 20000)
rescue
  puts "TCPSocket.open failed : #$!\n"
else
  sock.write("HELLO")
  sock.close
end


プロフェッショナルIPv6解説動画シリーズ再生リスト

動画で学ぶ「プロフェッショナルIPv6」を作っています。 もしよろしければご覧ください。お楽しみいただければ幸いです!