js错误处理方式try...catch 与 then...catch
文章类型:Javascript
发布者:hp
发布时间:2024-11-27
错误和异常处理是保证代码健壮性和用户体验的重要环节,js提供了多种方式来处理错误,最常见的就是trt...catch和Promise的ten,catch,那么他们的使用场景是什么呢?
1:定义:用户捕获和处理同步代码中异常的机制
2:结构
try {
// 可能会抛出异常的代码
} catch (error) {
// 处理异常
}
3:使用场景:适用于函数调用、操作对象、数组等传统代码中
4:示例:
function divide(a, b) {
try {
if (b === 0) {
throw new Error("Cannot divide by zero");
}
return a / b;
} catch (error) {
console.error(error.message);
}
}
divide(4, 0); // 输出: Cannot divide by zero
1:定义:用于使用 Promise处理异步操作时,
2:结构
someAsyncFunction()
.then(result => {
// 处理成功的结果
})
.catch(error => {
// 处理错误
});
3:使用场景:用于处理异步操作,例如网络请求、文件读取
4:示例
function fetchData() {
return new Promise((resolve, reject) => {
// 模拟异步操作
setTimeout(() => {
const success = Math.random() > 0.5; // 随机决定成功或失败
if (success) {
resolve("Data fetched successfully");
} else {
reject("Failed to fetch data");
}
}, 1000);
});
}
fetchData()
.then(result => {
console.log(result);
})
.catch(error => {
console.error(error);
});
1:try....catch 只能捕获同步代码异常,异步根本捕获不到
2:then...catch是Promise的回调函数,用于后续处理