Ruby 如何检测API错误?

Ruby 如何检测API错误?,ruby,exception-handling,error-handling,Ruby,Exception Handling,Error Handling,我正在开发一个依赖于其他团队API的Ruby应用程序 是否有一种打印错误消息的好方法,表明它是错误的 由他们的API错误生成 例如,api提供了一个名为foo的方法 因此,当我这样做时: api.foo() 它将返回一条错误消息:foo error 当我开发代码时,我希望错误消息看起来像:api:foo error 这样,当我看到这个错误消息时,我知道是API错误, 不是我的代码的错误 到目前为止,我能想到的最佳实践是将所有 方法 由API提供,例如: class apiWrap def

我正在开发一个依赖于其他团队API的Ruby应用程序

是否有一种打印错误消息的好方法,表明它是错误的 由他们的API错误生成

例如,api提供了一个名为foo的方法 因此,当我这样做时:

api.foo()
它将返回一条错误消息:foo error 当我开发代码时,我希望错误消息看起来像:api:foo error

这样,当我看到这个错误消息时,我知道是API错误, 不是我的代码的错误

到目前为止,我能想到的最佳实践是将所有 方法 由API提供,例如:

class apiWrap
  def initialize(api)
    @api = api
  end
  def foo
    begin
      @api.foo()
    rescue => e
      raise "api: #{e.message}"
    end
  end
end

如果在此api中使用了自己的异常类,则可以按如下方式重新定义它:

class APIException
  alias_method :old_exception, :exception
  def exception(message)
    old_exception(message.prepend("api: ")) # for ruby 1.9.3
    old_exception("api: " + message)        # for older ruby
  end
end

如果你可以使用一些简单的元编程,我当然不会手工完成。但我想知道重点是什么;你能让你的代码的信息更加明显吗?