0
我有一些代碼試圖做某事。有時候這種失敗的原因並不是我認爲失敗的原因。但我仍然想抓住真正的錯誤。我該如何忽略某些錯誤? eslint no-ex-assign的投訴
此代碼的工作完美,但eslint complains:
try {
doThing()
} catch (err) {
if (err.message.includes('already exists')) {
err = null;
}
if (err) {
throw new Error(`Oh no something really bad happened!`)
}
}
我知道到空分配犯錯是破壞性的:這就是爲什麼我這樣做,因爲我不認爲這是一個有效的錯誤,並無所求更多與它有關。
有沒有更好的辦法,這應該處理?很明顯,我可以添加一個條件的投擲塊,但這似乎並不明確。
例如,我可以早點跳出趕時鐘嗎?
@mikemaccana是的,你可以使用'return',但只有當你在函數中。 – str
@mikemaccana如果你不在'catch'裏面'拋出'或'return',解釋器將退出'catch'並繼續執行try-catch塊之後的任何代碼行 –
@mikemaccana我知道你想忽略錯誤。您可以在[IIFE](https://stackoverflow.com/questions/6340874/a-javascript-function)中返回,或使用我在我的答案中描述的條件。 – str