BIG ERROR:class or module required for rescue clause (TypeEr

require ‘socket’
require ‘timeout’
def ping( host, service = “echo”,timeout = 2)
begin
timeout( timeout ){
TCPSocket.open( host, service){}
}
rescue Errno::ECONNREFUSED
true
rescue false
else true
end
end
p ping(ARGV[0] || “google.ru”)

When host is down i got error:" ping:10:in `ping’: class or module
required for rescue clause (TypeError) from ping:14"
when host is alive i’ve got true
Can you help me please!

On 6/7/07, W0rtex Indigo [email protected] wrote:

else true
end

end
p ping(ARGV[0] || “google.ru”)

When host is down i got error:" ping:10:in `ping’: class or module
required for rescue clause (TypeError) from ping:14"
when host is alive i’ve got true
Can you help me please!

It’s complaining about
rescue false

Maybe something like:

def ping( host, service = “echo”,timeout = 2)
begin
timeout( timeout ){
TCPSocket.open( host, service){}
}
rescue Exception => ex
# handle any expected exceptions
case ex
when Errno::ECONNREFUSED
return false
when Timeout::Error
return false
else
# pass the buck
raise ex
end
end
true
end

Doing a ping by connecting is rather heavyweight though.


Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

On 07.06.2007 17:14, W0rtex Indigo wrote:

require ‘socket’
require ‘timeout’
def ping( host, service = “echo”,timeout = 2)
begin
timeout( timeout ){
TCPSocket.open( host, service){}
}
rescue Errno::ECONNREFUSED
true
rescue false
^^^^^ this is not a class.

Either put a class here or nothing.

else true
end

end
p ping(ARGV[0] || “google.ru”)

When host is down i got error:" ping:10:in `ping’: class or module
required for rescue clause (TypeError) from ping:14"
when host is alive i’ve got true
Can you help me please!

The question is, what do you want to achieve?

Kind regards

robert

thank you.))))

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs