bind ステートメントで同じアドレスを 2 回使用しようとすると ruby が発生する例外を救済しようとしています。ドキュメントはあまり役に立ちません。
ここに私が欲しいものがあります:
require 'socket'
s = UDPSocket.new(Socket::AF_INET)
begin
s.bind address,port
rescue #Address_in_use => e
#code
end
rescue明示的な Exception クラスがない場合、StandardErrorとそのサブクラスのみが救済されます。次のことを行う必要があります。
rescue Errno::EADDRINUSE => ex
#code
end