

新闻资讯
技术学院JavaScript错误处理核心是用try-catch捕获同步异常,防止崩溃并提供反馈;try中出错立即跳catch,error含message/name/stack;finally必执行;异步错误需内部单独处理;throw推荐new Error;避免空catch或过度包裹。
JavaScript 的错误处理,核心是捕获运行时异常、防止程序崩溃,并提供友好的反馈或降级逻辑。try-catch 是最常用、最直接的同步错误处理机制。
用 try 包裹可能出错的代码,用 catch 捕获并处理抛出的错误,可选地用 finally 执行无论成功失败都要运行的清理操作。
error)是一个 Error 对象,包含 message、name、stack 等属性比如解析用户输入的 JSON:
try {
const data = JSON.parse(userInput);
console.log('解析成功:', data);
} catch (err) {
console.error('JSON 解析失败:', err.message);
// 可以给用户提示,或提供默认数据
const data = { id: 0, name: '未知' };
} finally {
console.log('解析流程结束');
}
注意:catch 只捕获同步错误。异步操作(如 setTimeout、Promise 回调、fetch)中的错误不会被外层 try-catch 捕获,需在异步内部单独处理。
你可以在业务逻辑中用 throw 手动抛出错误,让
catch 统一处理:
new Error('xxx'),便于后续识别和堆栈追踪if (!id) throw new Error('ID 必须提供');
错误处理不是越多越好:
catch {}),这会让错误静默消失,极难调试.catch() 或 await ... catch,而不是包裹 async 函数体window.onerror 或 process.on('uncaughtException')(Node.js),可作为兜底日志收集基本上就这些。try-catch 不复杂,但容易忽略细节——关键是明确哪里可能错、想怎么响应、以及别让错误悄无声息地溜走。