class Rufus::Scheduler::SchedulerCore

def do_handle_exception(job, exception)


details to $stderr.
method. If yes, hands the exception to it, else defaults to outputting
Determines if there is #log_exception, #handle_exception or #on_exception
def do_handle_exception(job, exception)
  begin
    [ :log_exception, :handle_exception, :on_exception ].each do |m|
      next unless self.respond_to?(m)
      if method(m).arity == 1
        self.send(m, exception)
      else
        self.send(m, job, exception)
      end
      return
        # exception was handled successfully
    end
  rescue Exception => e
    $stderr.puts '*' * 80
    $stderr.puts 'the exception handling method itself had an issue:'
    $stderr.puts e
    $stderr.puts *e.backtrace
    $stderr.puts '*' * 80
  end
  $stderr.puts '=' * 80
  $stderr.puts 'scheduler caught exception:'
  $stderr.puts exception
  $stderr.puts *exception.backtrace
  $stderr.puts '=' * 80
end