下面两个代码片段:(主要区别在于错误处理的方式)
try...catch语句 是 来捕获和处理可能发生的错误。
.catch()方法 是 处理错误
try......catch 语句
- 用于同步或异步代码块中的错误处理
- 在try块在执行的代码如果抛出异常(即发生错误),则会立即跳转到catch块来执行。
- 优点是可以在一个地方集中处理可能出现的所有错误,并且可以进行更复杂的错误处理逻辑。
- 缺点是语法上可能会显得更冗长一些
async function getData(cityCode) {
try {
let res = await axios({
url:'https://hmajax.itheima.net/api/weather',
params:{
city: cityCode
}
})
return res.data
}catch (err) {
pxmu.fail('查询天气失败')
}
}
.catch( )方法
- 是promise API提供的一种错误处理方式,专门用于处理异步操作中的错误。
- 当promise被拒绝(即异步操作失败)时,.catch()方法会被调用。
- 优点是简洁,直接与异步操作关联,易于理解和维护。
- 缺点是对于需要更复杂错误处理逻辑的情况,可能不如try...catch语句灵活。
async function getData(cityCode) {
await axios({
url:'https://hmajax.itheima.net/api/weather',
params:{
city: cityCode
}
})
.then(res =>{
return res.data
})
.catch (err =>{
pxmu.fail('查询天气失败')
})
总结来说:
try...catch 语句更适合于需要对错误进行详细处理的场景,
.catch()方法更适合于简单的错误处理,尤其是在处理异步操作时。