我正在使用带限制的API,我很有可能达到极限。
我想知道人们如何处理这个问题?他们检查是否达到极限然后抛出异常?如果是这样的什么类型的例外?
有没有最佳做法?
我能够看到我是否达到如下限制:
if (!string.IsNullOrEmpty(result.error))
{
// we have hit a limit
}
此API用于MVC应用程序。
我正在使用API内容(ActionResult
)缓存[OutputCache]
方法。如果Action方法没有收到API结果,那么视图将为空,但如果我抛出某些东西,它将最终出现在自定义错误页面上。
答案 0 :(得分:0)
您应该首先使用从result.error收到的信息记录发生的事情,然后创建一个自定义异常并抛出它,包括原始错误消息。
if (!string.IsNullOrEmpty(result.error))
{
// we have hit a limit
// log error
// throw new MyException(result.error);
}
通常你不能在这种类型的错误中做很多事情,所以你记录它,抛出异常,这是别人的问题。捕获异常时,您可以根据异常类型决定等待并重试。