Very interesting. I'd have guessed no arguments would catch anything, also strange how 2 functions in the same library (open-uri) would have different exeception types. 500 errors return something that happens to be caught as a StandardError while this Timeout::Error is of a whole different lineage. Oh well, I'm going with it. ;) We have to operate, at least currently, under the assumption that the person who wrote the library is hell of smarter than I am. I trust that this will fix the problem, though I wont really ever know for sure because the script only crashed out in that manner every few days anyway. Thanks again for all you guys' help. Long live Ruby. -Harold p.s. Are my initial questions getting double posted? or is gmail just getting confused? 1000 apologies if they are getting double posted. On 11/17/05, Gregory Brown <gregory.t.brown / gmail.com> wrote: > On 11/17/05, zdennis <zdennis / mktec.com> wrote: > > Harold Hausman wrote: > > > > > > > > .... Right, so, isin't begin, rescue, end supposed to stop exactly this > > > from happening? Or chances are, I've misunderstood. > > > > > > > 'rescue' by itself catches StandardError exceptions and subclasses of StandardError. The > > Timeout::Error is probably not a StandardError, but probably a subclass of Exception. > > Yup, that's what it is: > irb(main):004:0> Timeout::Error.ancestors > => [Timeout::Error, Interrupt, SignalException, Exception, Object, Kernel] > > Ignore my first post and catch one of the above explicitly, and that > should solve your problem > (excluding Object and Kernel, of course ;) ) > >