我正在开发一个依赖于其他团队的API的Ruby应用程序。
是否有一种打印错误消息的好方法,表明它是 从他们的API错误生成?
例如,有一个名为foo()
的api提供的方法
所以当我这样做时:
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
答案 0 :(得分:0)
如果在这个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