From: "Bartosz DziewoƄski" Date: 2012-09-21T05:35:48+09:00 Subject: Re: Re-throwing an exception You can re-raise the rescued exception by calling `raise` with the argument being the Exception (or subclass) object. E.g.: begin # Do stuff # rescue ServiceException => e raise e rescue SdkException => e raise e rescue Exception => e raise SdkException.new( "Failed to process request: %s: %s" % [e.class, e.message] ) end Alternatively (same function, but coded how I'd have written it): begin # Do stuff # rescue Exception => e raise e if e.is_a?(ServiceException) || e.is_a?(SdkException) raise SdkException.new( "Failed to process request: %s: %s" % [e.class, e.message] ) end -- Matma Rex