From: Robert Klemme Date: 2006-06-22T21:49:06+09:00 Subject: Re: Sorta odd error handling 2006/6/22, Ohad Lutzky : > 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? Assuming "how it happended" means the stack trace. You can access it via method backtrace. Another note: don't use global variables unless you have to. So rather do begin ... rescue Exception => e # print stackt trace as demo, should be done in log_error puts e.backtrace log_error e end Kind regards robert -- Have a look: http://www.flickr.com/photos/fussel-foto/