no-throw-literal
禁止將字面量投擲為例外。
💭
此規則需要 類型資訊 來執行。
僅 throw
Error
物件本身或使用 Error
物件作為自訂例外基礎物件被視為良好的實務。Error
物件的基本好處在於它們會自動追蹤它們是在哪裡、以及如何建立的。
此規則限制可作為例外投擲的內容。
警告
此規則現已重新命名為 only-throw-error
。目前的規則名稱 no-throw-literal
將會在 typescript-eslint 的未來主要版本中移除。
此規則在剛建立時,僅防止字面值拋出(因此有這個名稱),但現在已擴充,僅允許可能為 Error
物件的表達式。使用 allowThrowingAny
和 allowThrowingUnknown
選項,可將其組態為僅允許拋出保證為 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。如果您在啟用類型檢查規則後遇到執行效能下降問題,請參閱 執行效能疑難排解。