我讀過一個尖端的情況下,標記自己的異常,你有你自己的庫:標記異常/替代
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