我想知道哪种方法更适合 JavaScript for nodeJS 的错误处理和调试?
有一个纯 try/catch block :
try
{
dangerous.function();
}
catch(error);
{
console.log(error);
}
或
只是用一个函数作为参数,有错误就会显示
dangerous.function(function(error)
{
console.log(error);
});
我提出这个问题是因为我读到 try/throw 有可能记录过多的堆栈跟踪数据,如下所示:http://nodejs.org/api/domain.html#domain_warning_don_t_ignore_errors
最佳答案
这完全取决于您。异常具有提供堆栈跟踪的优势。
请注意,如果 dangerous.function
以异步方式 执行其工作,那么您将需要使用第二种方法,因为最初没有任何异常可以捕获。但这并不意味着你不能使用异常,只是如果你想使用异常,你必须将异常传递到回调而不是抛出它。 (或者不使用异常,这也完全取决于您。)
关于JavaScript:Try/Catch 与作为参数传递的错误函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25526705/