前端/移动开发面试题更新 2026-08-05

请描述在 Node.js 环境中进行异常捕获与处理的常用方法,并说明不同场景下的适用性。

前端/移动开发技术原理问题排查Node.js

考察说明

考查对 Node.js 异常处理机制的理解,包括同步/异步、Promise/async、事件驱动等不同场景。

回答思路

  1. 【回答框架 1】Node.js 中同步代码的异常通常通过 try/catch 捕获,但异步回调中的异常无法被外层 try/catch 捕获,这是 Node.js 异常处理的关键区别。
  2. 【回答框架 2】对于基于 Promise 的异步操作,可使用 .catch() 方法或在 async/await 函数中使用 try/catch 来捕获异常,并确保在 Promise 链中正确传递错误。
  3. 【回答框架 3】Node.js 提供 process 对象上的 uncaughtException 和 unhandledRejection 事件来捕获未处理的异常和 Promise 拒绝,但应谨慎使用,避免进程状态不稳定。
  4. 【回答框架 4】在实际应用中,推荐使用错误优先的回调风格或现代 Promise/async 模式,并考虑使用领域框架(如 Express)的错误处理中间件来集中管理错误。
  5. 【关键点 1】异步回调中的异常无法被 try/catch 捕获。
  6. 【关键点 2】Promise 和 async/await 提供了更可靠的异常处理方式。
  7. 【关键点 3】uncaughtException 和 unhandledRejection 是最后兜底机制。
  8. 【易错点 1】在 uncaughtException 中继续运行可能导致资源泄漏或状态不一致。
  9. 【易错点 2】忽略 Promise 中的 rejection 会导致 unhandledRejection 警告。