From: Mark Probert Date: 2005-02-10T04:15:42+09:00 Subject: Catching exceptions Can someone please let me know what I am doing wrong here? I can't seem to catch the exception .. $ cat test.rb require 'socket' def alive(host, port=80) s = "host=#{host} : " t = TCPSocket.new(host, port) begin s << " made it!" rescue Errno::ETIMEDOUT s << " Timed out -- node unreachable" rescue Exception => e s << " exception = #{e}" ensure t.close end return s end puts alive('10.10.10.2') $ ruby test.rb test.rb:6:in `initialize': Operation timed out - connect(2) (Errno::ETIMEDOUT) from test.rb:6:in `new' from test.rb:6:in `alive' from test.rb:19 Regards, -mark. (probertm at acm dot org)