我正在开发一个依赖于其他团队的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
关于ruby - 如何检测API错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9235476/