Javascript 我怎样才能忽略某些错误?eslint无前分配投诉
我有一些代码试图做一些事情。有时失败的原因是我不认为失败。但我还是想抓住真正的错误 此代码工作正常,但:Javascript 我怎样才能忽略某些错误?eslint无前分配投诉,javascript,error-handling,try-catch,eslint,Javascript,Error Handling,Try Catch,Eslint,我有一些代码试图做一些事情。有时失败的原因是我不认为失败。但我还是想抓住真正的错误 此代码工作正常,但: 我意识到将错误赋给null是破坏性的:这就是为什么我要这么做,因为我不认为这是一个有效的错误,并且不想与它有关的< >。p> 是否有更好的方法处理此问题?显然,我可以在抛出块中添加一个条件,但这似乎并不明确 例如,我可以提前跳出catch时钟吗?为什么不认为向throw块添加条件是明确的?我个人认为这更具可读性: try { doThing() } catch (err) {
我意识到将错误赋给null是破坏性的:<强>这就是为什么我要这么做,因为我不认为这是一个有效的错误,并且不想与它有关的< <强> >。p> 是否有更好的方法处理此问题?显然,我可以在抛出块中添加一个条件,但这似乎并不明确
例如,我可以提前跳出catch时钟吗?为什么不认为向throw块添加条件是明确的?我个人认为这更具可读性:
try {
doThing()
} catch (err) {
const canExceptionBeIgnored = err.message.includes('already exists');
if (!canExceptionBeIgnored) {
throw new Error(`Oh no something really bad happened!`)
}
}
为什么你不认为,向抛出块添加一个条件是明确的?我个人认为这更具可读性:
try {
doThing()
} catch (err) {
const canExceptionBeIgnored = err.message.includes('already exists');
if (!canExceptionBeIgnored) {
throw new Error(`Oh no something really bad happened!`)
}
}
@Mikemacana是的,您可以使用
return
,但仅当您在函数中时使用。@Mikemacana如果您在catch
中没有抛出
或返回
,解释器将退出catch
,并继续执行try-catch之后的任何代码行block@mikemaccana我知道你想忽略这个错误。您可以在一个月内返回,或者使用我在回答中描述的条件。@str很公平。我已经将它收紧到第二个答案,对它进行了投票并将其标记为已批准。@Mikemacana是的,您可以使用返回
,但仅当您在函数中时使用。@Mikemacana如果您没有在捕获
中抛出或返回
,解释器将退出catch
,并继续执行try-catch之后的任何代码行block@mikemaccana我知道你想忽略这个错误。您可以在一个月内返回,或者使用我在回答中描述的条件。@str很公平。我把它收紧到第二个答案,对它进行了升级投票,并将其标记为已批准。