【发布时间】:2016-06-21 21:07:58
【问题描述】:
我正在尝试用这种方法挽救一个异常:
def template_deleted
mailchimp_client.templates.info(mailchimp_id)
rescue Mailchimp::InvalidTemplateError => error
puts "Template deleted in Mailchimp: #{error}"
return true
else
return false
end
无论我使用什么输出消息,无论是STDERR、STDOUT、log.error、p、puts 还是print,都不会输出到环境日志中。这肯定会返回错误,因为 Mailchimp 中肯定不存在该模板。
当我在控制台中尝试相同的代码时,我可以很好地读取错误,所以要么是救援本身有问题(即我的方法返回了不应该的false),要么是有问题以我输出的方式。
【问题讨论】:
-
你不清楚。您是否在控制台中获取输出,但想将其定向到日志?
-
对不起,我更新了这个问题更清楚了。
-
您是否尝试使用
logger.debug而不仅仅是puts? -
可能抛出的异常不是您所期望的。要检查异常的类别,请使用此模型:
begin 1/0 ; rescue Exception => error ; puts error.class end -
@peak 是的,这看起来很有用,我现在就试试。谢谢。
标签: ruby ruby-on-rails-4 exception exception-handling mailchimp