达到API限制时该怎么做/抛出

时间:2015-07-17 15:35:13

标签: c# asp.net asp.net-mvc

我正在使用带限制的API,我很有可能达到极限。

我想知道人们如何处理这个问题?他们检查是否达到极限然后抛出异常?如果是这样的什么类型的例外?

有没有最佳做法?

我能够看到我是否达到如下限制:

if (!string.IsNullOrEmpty(result.error))
   {
       // we have hit a limit
   }

此API用于MVC应用程序。 我正在使用API​​内容(ActionResult)缓存[OutputCache]方法。如果Action方法没有收到API结果,那么视图将为空,但如果我抛出某些东西,它将最终出现在自定义错误页面上。

1 个答案:

答案 0 :(得分:0)

您应该首先使用从result.error收到的信息记录发生的事情,然后创建一个自定义异常并抛出它,包括原始错误消息。

if (!string.IsNullOrEmpty(result.error))
{
     // we have hit a limit
     // log error
     // throw new MyException(result.error);
}

通常你不能在这种类型的错误中做很多事情,所以你记录它,抛出异常,这是别人的问题。捕获异常时,您可以根据异常类型决定等待并重试。