Closed yi closed 7 years ago
这个地方,我觉得最好还是自己在callback中捕获异常,因为如果sdk把错误捕获住了,用户不好记录日志。 此外,如果想自己修改SDK,让异常不无限循环,可以改https://github.com/aliyun/aliyun-tablestore-nodejs-sdk/blob/master/lib/request.js#L164,这里不throw 出来就可以了。
| 我觉得最好还是自己在callback中捕获异常 这样好吗?
| 这里不throw 出来就可以了。
不太理解这段实现代码的目的。我的理解 uncaughtException
叫给开发者通过 process.on('uncaughtException',
来捕捉处理比较合理。
暂没找到好办法捕获callback中异常,通过回调参数中的err返回。 去除了uncaughtException这个状态,以后如果callback中有错误会直接抛出来,可以使用process.on('uncaughtException' 来捕获异常,或者参考https://github.com/aliyun/aliyun-tablestore-nodejs-sdk/blob/master/samples/domainError.js 使用domain。
ok, I close this ticket for now.
遇到的问题大致是这样的。当使用这个sdk对OTS进行操作的时候,如果在所传入的 callback 内的执行代码发生异常,那么这个 callback 会被无限执行下去直到 。
这个问题 100% 可以重现。抱歉暂时没有时间深挖。 但是感觉可能和 tablestore 的内部实现有关系,因为没有在其他 npm 模块上遇到这个情况。
举个例子:
被执行代码:
执行结果: