【发布时间】:2016-04-16 05:27:55
【问题描述】:
今天我发现了一个我无法处理的奇妙异常。
当我写这段代码时:
def example
Integer('example show')
rescue
p 'All is good, I handle it'
end
> example
#=> 'All is good, I handle it'
但是当ActiveRecord 抛出异常时,我得到:
def example
SomeModel.all.limit('example show')
rescue
p 'All is bad, I cannot handle it'
end
> example
#=> ArgumentError: invalid value for Integer(): "example show"
我认为这是一些神奇的深度异常或嵌套异常,但这也很好用:
class A
def a
b
end
def b
Integer('show example')
end
end
begin
A.new.a
rescue
p 'All is good, I can handle it'
end
=> 'All is good, I can handle it'
【问题讨论】:
-
@DaveNewton,我更新了我的问题,请看一下。
标签: ruby-on-rails ruby exception activerecord