# File lib/ruote/exp/flowexpression.rb, line 506 def handle_on_error (msg, error) return false if h.state == 'failing' oe_parent = lookup_on_error return false unless oe_parent # no parent with on_error attribute found handler = oe_parent.on_error.to_s return false if handler == '' # empty on_error handler nullifies ancestor's on_error workitem = msg['workitem'] workitem['fields']['__error__'] = [ h.fei, Ruote.now_to_utc_s, error.class.to_s, error.message, error.backtrace ] @context.storage.put_msg( 'fail', 'fei' => oe_parent.h.fei, 'workitem' => workitem) true # yes, error is being handled. end