Hartin, Brian wrote: > I could not find any information about this, except regarding DRb. > > It seems like the raise method / Exception class ought to allow me to > pass in a 'causal' exception, e.g. > > begin > foo > rescue Exception => e > raise ServiceNotFoundException, "The service could not be contacted", > e > end The second arg to raise (i.e. the message) can be any object: class ServiceNotFoundException < StandardError; end begin begin raise "foo" rescue Exception => e raise ServiceNotFoundException, ["The service could not be contacted", e] end rescue Exception => e_outer puts e_outer p e_outer.message end __END__ Output: #<ServiceNotFoundException:0xb7d9b75c> ["The service could not be contacted", #<RuntimeError: foo>] -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407