Error though exception handling

Hi!
I get this error:


/app/ruby/1.8.4/lib/ruby/1.8/net/telnet.rb:551:in waitfor': timed out while waiting for more data (Timeout::Error) from ./proc_ctrl/telnetcom.rb:44:inalive?’
from ./proc_ctrl/proc_manager.rb:91:in check_procs_status' from ./proc_ctrl/proc_manager.rb:90:incheck_procs_status’
from ./check_proc.rb:140:in `main’
from ./check_proc.rb:157

though my code looks like this (shortend), line 44 marked:


begin
telnet_srv = Net::Telnet.new(“Host” => @address, “Port” =>
@port,
“Telnetmode” => false, “Prompt” =>
prompt)

    telnet_srv.waitfor("Match" => prompt) #LINE 44

    response = telnet_srv.cmd("String" => @cmd, "Match" => 

prompt).gsub(prompt, “”)

rescue
#do some rescuing
end

How can it raise that Timeout::Error when I use the begin/rescue
statement?

Thanks!
/Rick

On Wed, 9 Aug 2006, Rickard Sjostrom wrote:

   from ./check_proc.rb:157

How can it raise that Timeout::Error when I use the begin/rescue
statement?

Thanks!
/Rick

that’s not how rescue works:

harp:~ > irb -r timeout
irb(main):001:0> begin; Timeout.timeout(1){ sleep 2 }; rescue
Timeout::Error; p 42; end
42
=> nil

irb(main):002:0> StandardError === Timeout::Error
=> false

by default it rescues only children of StandardError - you must specify
otherwise.

-a

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