JavaScript错误处理分两类:try...catch捕获同步/async异常,错误边界捕获React组件渲染崩溃;二者目标一致但场景不同,需配合Promise兜底和结构化日志提升健壮性。

JavaScript 错误处理的核心是区分两类问题:运行时可捕获的异常(用 try...catch),以及 React 中组件渲染阶段的 UI 崩溃(用错误边界)。两者目标一致——防止整个应用崩溃,但适用场景和实现方式完全不同。
用 try...catch 捕获同步和异步操作中的异常
try...catch 只能捕获同步代码或 async/await 写法中抛出的错误,对 Promise.then().catch() 或未处理的 Promise 拒绝无效。它适合封装可能失败的操作,比如 JSON 解析、API 调用、本地存储读写等。
常见写法示例:
- 同步错误捕获:JSON.parse() 容易因格式错误抛错,必须包裹
- 异步请求处理:用 async/await + try...catch 更清晰,比链式 .catch() 更易读
- 避免空 catch:不要只写
catch(e) {},至少记录错误或给用户提示
错误边界(Error Boundary)专用于 React 组件层级的 UI 崩溃防护
错误边界是 React 类组件中定义的生命周期方法 componentDidCatch,只能捕获其子组件树在渲染、生命周期或构造函数中抛出的 JavaScript 错误,无法捕获事件处理函数、异步回调(如 setTimeout)、服务端渲染错误或自身组件内的错误。
立即学习“Java免费学习笔记(深入)”;
使用要点:
标签: react javascript java js json 处理器 浏览器 栈 ai win 开发环境 组件渲染
还木有评论哦,快来抢沙发吧~