2015-08-24 1 views
6

ActiveJob docs for exception handling обеспечивает этот пример для того, как выполнять обработку исключений в контексте работы:В ActiveJob, как поймать любое исключение

class GuestsCleanupJob < ActiveJob::Base 
    queue_as :default 

    rescue_from(ActiveRecord::RecordNotFound) do |exception| 
    # Do something with the exception 
    end 

    def perform 
    # Do something later 
    end 
end 

Я использую эту технику в приложении Я строй и захватив определенным особые исключения. Мой вопрос: как фиксировать все исключения?

Я занимаюсь различными видами исключений и выполняю одну и ту же процедуру каждый путь, поэтому я хотел бы СУШИТЬ мой код, а также в моей текущей реализации некоторые исключения игнорируются, что означает, что в некоторых случаях моя работа терпит неудачу ,

Как получить любое общее исключение с помощью ActiveJob?

ответ

12

Попробуйте это

class GuestsCleanupJob < ActiveJob::Base 
    ... 

    rescue_from(StandardError) do |exception| 
    # Do something with the exception 
    end 

    ... 
end 
+0

Спасибо, это правильная техника! В моем случае в блоке обработки исключений имелось ошибочное выражение, которое вызвало молчащую ошибку – metahamza

Смежные вопросы