From: ara.t.howard@... Date: 2006-06-22T23:54:37+09:00 Subject: Re: Sorta odd error handling On Thu, 22 Jun 2006, Ohad Lutzky wrote: > When an exception gets raised 'all the way out', you get a nice little > call-stack with line-numbers and function names, which really helps seeing > what went wrong, and how. However, I want my application (which has an > infinite mainloop) to keep running, but have that call stack logged. So I > have: > > begin > run_worker_process queue_entry[:user][:username], > queue_entry[:directory] > rescue > log_error $! > end > > This doesn't work particularily well for me, because it only mails out > the actual error, not how it happened. Any ideas on how to improve this? > > -- > Posted via http://www.ruby-forum.com/. > errmsg = lambda{|e| "%s (%s)\n%s" % [e.message, e.class, (e.backtrace || []).join("\n")]} begin run_worker_process queue_entry[:user][:username], queue_entry[:directory] rescue Exception => e log_error(errmsg[e]) end regards. -a -- suffering increases your inner strength. also, the wishing for suffering makes the suffering disappear. - h.h. the 14th dali lama