跳至主要內容

no-throw-literal

禁止將字面量投擲為例外。

💭

此規則需要 類型資訊 來執行。

throw Error 物件本身或使用 Error 物件作為自訂例外基礎物件被視為良好的實務。Error 物件的基本好處在於它們會自動追蹤它們是在哪裡、以及如何建立的。

此規則限制可作為例外投擲的內容。

警告

此規則現已重新命名為 only-throw-error。目前的規則名稱 no-throw-literal 將會在 typescript-eslint 的未來主要版本中移除。

此規則在剛建立時,僅防止字面值拋出(因此有這個名稱),但現在已擴充,僅允許可能為 Error 物件的表達式。使用 allowThrowingAnyallowThrowingUnknown 選項,可將其組態為僅允許拋出保證為 Error 實例的值。

選項

請見 eslint/no-throw-literal 選項

如何使用

.eslintrc.cjs
module.exports = {
"rules": {
// Note: you must disable the base rule as it can report incorrect errors
"no-throw-literal": "off",
"@typescript-eslint/no-throw-literal": "error"
}
};

在遊樂場中嘗試此規則 ↗

什麼時候不使用它

類型檢查的 linter 規則比傳統 linter 規則更強大,但您也需要組態 類型檢查 linting。如果您在啟用類型檢查規則後遇到執行效能下降問題,請參閱 執行效能疑難排解

資源

帶著 ❤️ 取自 ESLint core