【发布时间】:2017-07-11 19:53:23
【问题描述】:
我有一些代码使用 Overwatch API 来获取一些数据。这是我目前拥有的:
OWoverallStats: (playerName, mode, region) => {
mode = (typeof mode === 'undefined') ? 'competitive' : mode.toLowerCase();
region = (typeof region === 'undefined') ? 'us' : region.toLowerCase();
playerName = playerName.replace('#', '-');
return fetch(`https://owapi.net/api/v3/u/${playerName}/stats`)
.then(res => res.json())
.then(data => {
return data[region].stats[mode].overall_stats;
});
}
如果您输入一个实际存在的 playerName,这可以正常工作。我用来测试的代码是:
core.OWoverallStats('Calvin-1337', 'quickplay', 'eu').then(data => {
console.log(data.tier) // grandmaster
}).catch(e => {
console.log(e);
});
在实际代码中,我可以检查错误代码是否为 404(播放器不存在),但我不知道该怎么办。我不想抛出错误,或者控制台记录它,就好像有人在 Discord Bot 中实现了这个说,我希望使用代码的人说出他们想对错误做什么。
【问题讨论】:
-
如果你不想处理,为什么不直接扔给客户呢?
-
@Paul 我不太清楚你的意思/具体是什么。
-
我的意思是不要捕捉到你没有准备好处理的错误。如果你这样做了,为了记录,再扔一次。
标签: javascript node.js error-handling