MST
星途 面试题库

面试题:Node.js Express 中常见的错误类型及捕获方式

在 Node.js 的 Express 应用开发中,会遇到各种类型的错误。请列举至少三种常见的错误类型,并阐述在 Express 框架下如何捕获这些错误。
38.8万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试

常见错误类型

  1. 路由错误:比如访问不存在的路由。例如用户在浏览器输入了应用中未定义的路径。
  2. 语法错误:在编写 Express 代码时,如 JavaScript 语法错误,像漏写了括号、分号等。
  3. 数据库错误:当 Express 应用与数据库交互时可能出现错误,比如数据库连接失败,SQL 查询语句错误(如果使用 SQL 数据库)。
  4. 中间件错误:中间件函数执行过程中出现异常,如自定义中间件中对请求处理逻辑有误。

捕获错误的方式

  1. 全局错误处理中间件: 在 Express 应用中,可以定义一个全局错误处理中间件。它需要四个参数:errreqresnext。例如:
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).send('Something went wrong!');
});
  1. try - catch 块:在异步函数(如路由处理函数)中,可以使用 try - catch 块来捕获错误。
app.get('/example', async (req, res, next) => {
  try {
    // 可能抛出错误的代码,比如数据库查询
    const result = await someAsyncOperation();
    res.send(result);
  } catch (err) {
    next(err);
  }
});
  1. Promise.catch:如果使用 Promise,在 Promise 链的末尾可以使用 .catch 方法捕获错误。
app.get('/promise - example', (req, res, next) => {
  somePromise()
  .then(result => res.send(result))
  .catch(err => next(err));
});