这个node.js异常处理方法的最佳实践是什么?

时间:2013-01-30 06:43:09

标签: node.js exception-handling

我有这种模式的代码 - 我需要在fn()成功时调用next(),或者在fn()的执行中有异常。

try {
    fn.call(obj, a, b, c, function(error, next) {
           ...
           next();
    });
} catch (ex) {
    // log. 
    next();  // This is under question.
}

异常不仅可以在fn中发生,也可以在next()中发生。我不应该从catch中调用next(),因为如果异常来自下一个执行期间的某个地方,我不会这样做。

那么你们对这种模式建议采用什么方法?

1 个答案:

答案 0 :(得分:0)

首先,我建议您查看try...catch block description(不要介意它适用于浏览器JS)。在您的情况下,是否可以将next()函数放在finally块中?是的,我建议将其放在那里并将整个try...catch块放在另一个try...catch块中。

在最终确定中仍然抛出异常并不是一个好习惯。您确定在正确的位置使用try...catch吗?也许最好在fn内部(或在error函数内部处理wxception)?