Sebastian Delmont has an interesting solution for this situations, he
posted it at his blog:
http://www.notsostupid.com/blog/2006/06/28/do-or-do-not-or-maybe-try/
Currently offline, but you can checkit at googles cache:
Basically what you do is:
module Kernel
# Returns 'value' in case of an exception, otherwise returns the
execution
# of the given block
def try(value = nil)
yield if block_given?
rescue Exception => exception
value
end
end
Hope this simplies your exception handling for this situations