如何处理QuotaExceededError或IO错误

时间:2017-03-24 15:12:10

标签: indexeddb

This paragraph州:

  

由于与特定请求无关的原因,事务可能会失败。   例如,由于提交事务时IO错误,或者由于   运行到配额限制,实现无法绑定   超出部分要求的配额。在这种情况下   实现必须运行使用的中止事务的步骤   作为事务的事务和作为错误的适当错误类型。   例如,如果超出配额,那么" QuotaExceededError"   DOMException应该用作错误,如果发生IO错误,则为   "不明错误" DOMException应该用作错误。

问:你能写一个代码示例吗?我不确定他们是否在谈论在try / catch块中包装事务或使用onerror处理程序。我不确定他们什么时候会说"应该使用DOMException"如果他们的意思是我应该做某事或者JavaScript正在返回一些东西。

1 个答案:

答案 0 :(得分:0)

这是向在浏览器中实现indexedDB代码(通常使用C或C ++)的人员发出的指令。它不是针对你的。但是,一些开发人员会使用这些说明来深入了解如何使用API​​。

某些idb javascript调用肯定会抛出异常。这与在发生某些错误后设置的属性request.error之类的错误完全不同。

通常,您不需要捕获异常。您只需要通过侦听错误事件来检查错误,作为成功事件的唯一替代方法。换句话说,对于每个请求,监听错误事件和成功事件,一个或另一个将始终触发,并作出适当的反应。如果您的代码中存在实际错误,或者需要调用transactionVariable.objectStore('store-that-does-not-exist')等更系统的错误,您只需要捕获异常,如果您正确地编写了应用程序则永远不会发生。