在 JavaScript 中,try...catch 能否捕获异步任务(如 setTimeout 宏任务、Promise 微任务)中抛出的错误?请说明原因。
考察说明
考察对 JavaScript 同步/异步错误捕获机制与事件循环的理解
回答思路
- 能准确说明 try...catch 只捕获当前调用栈同步执行的错误
- 能区分宏任务和微任务在事件循环中的执行时机与独立调用栈
- 能解释 Promise 的 reject 需通过 catch 或 async/await 处理
- 能结合 setTimeout 和 Promise 示例说明捕获失败的场景
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。