class Collector
  class ContentNotFound < Exception
  end
  class DuplicateContent < Exception
  end
end
begin
  raise Collector::ContentNotFound.new
rescue
  puts "catch"
end
当我运行脚本时,我没有收到"catch"消息,我看到错误:
lib/collector/exception.rb:10:in `<main>': Collector::ContentNotFound (Collector::ContentNotFound)
为什么?如果不在救援中输入他们的课程,我怎么能抓住我的例外?
Jac*_*cob 12
如果您确实希望按原样捕获这些异常,请使用:
rescue Exception
bare rescue关键字只捕获衍生物StandardError(有充分理由).
但是,更好的解决方案是让您的自定义异常派生自StandardError.
有关为何如此的解释,请参阅PickAxe的此部分.
| 归档时间: | 
 | 
| 查看次数: | 1391 次 | 
| 最近记录: |