unicorn/throw-new-error Style
它的作用
此规则确保在抛出错误时始终使用 new。
为什么这不好?
在 JavaScript 中,省略 new(例如,throw Error('message'))是允许的, 但它不会正确初始化错误对象。这可能导致缺少 堆栈跟踪或原型链不正确。使用 new 可以让意图更清晰, 确保行为一致,并有助于避免一些微妙的 bug。
示例
以下是此规则的错误代码示例:
javascript
throw Error("🦄");
throw TypeError("unicorn");
throw lib.TypeError("unicorn");以下是此规则的正确代码示例:
javascript
throw new Error("🦄");
throw new TypeError("unicorn");
throw new lib.TypeError("unicorn");如何使用
To enable this rule using the config file or in the CLI, you can use:
json
{
"rules": {
"unicorn/throw-new-error": "error"
}
}ts
import { defineConfig } from "oxlint";
export default defineConfig({
rules: {
"unicorn/throw-new-error": "error",
},
});bash
oxlint --deny unicorn/throw-new-error版本
此规则于 v0.0.14 中添加。
