Promise.catch() 处理错误
最后更新:2026-09-09
Promise.catch() 处理错误
catch 注册 Promise 失败时的回调。是 then(undefined, onRejected) 的语法糖。
| 分类 | 异步 |
|---|---|
| ES 版本 | ES6 |
📝 语法
promise.catch((错误) => { 处理 });
⚙️ 参数
| onRejected | 失败时的回调函数,接收 Error 对象。 |
|---|
返回值:新的 Promise。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
💡 提示 catch 放在链式调用的末尾可以捕获前面所有 then 的错误。
ℹ️ info catch 之后 Promise 状态变为 fulfilled,可以继续 then。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| Promise.catch() | ✓ v32 | ✓ v12 | ✓ v27 | ✓ v8 | ✓ v19 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关条目
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Qcatch 和 try/catch 的区别?
APromise.catch 捕获异步错误;try/catch 捕获同步错误。async/await 配合 try/catch。
Qcatch 能捕获 then 里的错误吗?
A能——链式调用中任何 then 抛出的错误都会被后续 catch 捕获。
Qcatch 之后还能继续 then 吗?
A能——catch 之后 Promise 变为 fulfilled。