Ruby 2.3和2.4中的自定义例外



我想用Ruby 2.3和2.4中的自定义类挽救一些代码。但是,与以前的版本不同(例如2.2的功能很棒(,我有一些麻烦。这里一个示例:

给定此类:

class CustomError < StandardError
end

此代码已成功救出:

begin
  'foo'.bar(:boom)
rescue
  puts 'THIS IS FINE.'
end
# => printing "THIS IS FINE." on the screen

这也是成功救出的:

begin
  'foo'.bar(:boom)
rescue StandardError
  puts 'THIS IS FINE.'
end
# => printing "THIS IS FINE." on the screen

但不是这个:

begin
  'foo'.bar(:boom)
rescue CustomError
  puts 'THIS IS FINE.'
end

筹集了此消息:

未定义的方法`for'for'foo':string(nomethoderror(

我不知道为什么我的自定义异常课程没有处理。

您拯救CustomError,但正在提高NoMethodErrorNoMethodError继承StandardError,这就是为什么可以用rescue StandardError进行营救的原因。

相关内容

  • 没有找到相关文章

最新更新