我读过一个尖端的情况下,标记自己的异常,你有你自己的库:标记异常/替代
module AcmeHttp
module Error; end
end
begin
begin
raise IOError, "Some IO error"
rescue Exception => error
error.extend(AcmeHttp::Error)
raise
end
rescue AcmeHttp::Error => error
puts "Rescued AcmeHttp::Error: #{error}"
end
我真的不知道如何error.extend(AcmeHttp::Error)
工作和以后怎么你实际上可以用它来拯救。另外,是否有一些更优雅的方法来标记自己的库中的异常?
'extend'是普通的Ruby。原因是为了捕捉潜在的原因。另一种方法是http://www.jayway.com/2011/05/25/ruby-an-exceptional-language/。 – 2014-11-23 13:41:46