I'm evaluating a function at various values in a for loop. The
function works most of the times (99% of parameter range I am
investigating), but at some values, it gives error like below and
crushes. I guess something wrong with sqrt function. I'm not going to
attempt to show the function here because it is 1.5Mb. If I evaluate
the exact same function in Maple at the value it crushed in Ruby, it
behaves fine.

Is there any way that when the (sqrt) function crushes, it gives some
sort of error value and go on to evaluating at the next value without
crushing the program? I don't want to manually restart the program at
the next value each time the program crushes. In R, there is "try"
function that can used for this kind of situation.

Thank you.

#####
/usr/lib/ruby/1.6/complex.rb:82:in `initialize': stack level too deep
(SystemStackError)
        from /usr/lib/ruby/1.6/complex.rb:63:in `new'
        from /usr/lib/ruby/1.6/complex.rb:63:in `Complex'
        from /usr/lib/ruby/1.6/complex.rb:130:in `/'
        from /usr/lib/ruby/1.6/mathn.rb:244:in `sqrt'
        from /usr/lib/ruby/1.6/mathn.rb:244:in `sqrt'
        from /usr/lib/ruby/1.6/mathn.rb:244:in `sqrt'
        from /usr/lib/ruby/1.6/mathn.rb:244:in `sqrt'
        from /usr/lib/ruby/1.6/mathn.rb:244:in `sqrt'
         ... 1461 levels...
        from rubyHopf0.rb:17:in `each'
        from rubyHopf0.rb:17
        from rubyHopf0.rb:16:in `each'
        from rubyHopf0.rb:16