ruby 中异常的处理语法是这样的:
begin
rescue Exception => e
end
那么,有可能在rescue到异常后,还有可能产生异常,比如这样
begin
# some other code
raise 'exception'
var = {}
var['xixi'] = 22
rescue Exception => e
p var['xixi']
end
由于在出现异常之前, var 这个变量并没有被申明, 所以在 recue 中处理的时候还是出错了,导致程序无法顺利的执行.