Ruby 如何检测API错误?
我正在开发一个依赖于其他团队API的Ruby应用程序 是否有一种打印错误消息的好方法,表明它是错误的 由他们的API错误生成 例如,api提供了一个名为foo的方法 因此,当我这样做时: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.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
如果你可以使用一些简单的元编程,我当然不会手工完成。但我想知道重点是什么;你能让你的代码的信息更加明显吗?