根据Ryan Bates的RailsCast剧集here,我已经使用Stripe超过一年了。但是,我的错误处理最近停止了工作,我以前从未见过这个错误。我最近开始在Ruby 2.1上运行我的应用程序,尽可能接近我的问题。
这是我的Subscription
模型中的实例方法:
begin
save_with_stripe_payment
rescue Stripe::InvalidRequestError => e
logger.error "Stripe error while creating customer: #{e.message}"
logger.error e.backtrace.join("\n")
errors.add :base, "There was a problem with your card."
false
rescue e
logger.error e.message
logger.error e.backtrace.join("\n")
errors.add :base, e.message
false
end
该行:
rescue Stripe::InvalidRequestError => e
是抛出错误的人。堆栈跟踪从那里进入"开始"这就行了。我在这里缺少什么?
答案 0 :(得分:9)
错误中的行号有点误导,错误实际上来自于此:
rescue e
我认为你的意思是
rescue => e
答案 1 :(得分:1)
我收到此错误,是因为我试图挽救一系列异常,例如
rescue *exceptions => e
除了exceptions
是异常(我的错误)的一个实例。