javascript - try catch 模式比先错误更好吗?

标签 javascript node.js express

我主要使用nodejs(但总的来说我对javascript还比较陌生),但更具体地说是expressjs。他们明确建议使用 try 和 catch 模式,但我看到其他人建议首先执行经过尝试且正确的错误。

callback(err, data) {
 if (err) throw err;
 //do something if no error was returned
}

而不是

callback(err, data) {
  try {
   //do something
  } catch(err) {
   //handle the error
  }
}

哪一种被广泛认为是更好的做事方式?当谈到做某事的“唯一真正的方法”时,Javascript 非常模糊。

最佳答案

有一个重要的区别 - “错误优先”方法用于异步调用,try-catch 用于同步。

如果您使用一些外部库,则由它们来确定如何处理错误。有时有一些选项(例如查看 Node 的“fs”模块 - 同步函数会抛出错误,由您来捕获它们,异步函数会在回调中返回错误)

如果您要实现自己的函数,“错误优先”方法看起来更好,因为它适合 Node 的异步性质。

(以及不使用 try-catch 的另一个原因 - V8 优化器可能无法像不存在这种构造一样优化函数)

关于javascript - try catch 模式比先错误更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39619927/

相关文章:

php - 对于较小的消息,哪种对称加密算法最快?

javascript - 如何使用远程服务器上的浏览器进行自动化测试

node.js - Nodejs Mongodb 使用 find 获取数组的第一个元素而不使用聚合

javascript - 如何正确地将 HTTP 错误代码传递给错误处理中间件?

templates - Express 3在所有模板中获取 session

javascript - while 循环内的函数

javascript - 禁用 ajaxSetup

node.js - 告诉 Mongoose 使用哪个数据库 - 在 Node.js Express 应用程序中

node.js - 获取 Express 中的推荐值?

javascript - Express 服务器 - GET 请求返回 404(未找到)