Skip to content
← Back to rules

eslint/no-ex-assign 正しさ

This rule is turned on by default.

何をするか

catch 節で例外の再代入を禁止します

なぜ問題なのか

try 文内の catch 節で、例外パラメータに別の値を代入してしまうと(意図的であれ偶然であれ)、それ以降、そのエラーにアクセスできなくなってしまいます。arguments オブジェクトが存在しないため、このデータに代替的なアクセス手段がありません。そのため、パラメータへの代入は完全に破壊的です。

このルールに関して誤りなコードの例:

javascript
try {
  // コード
} catch (e) {
  e = 10;
}

このルールに関して正しいコードの例:

javascript
try {
  // コード
} catch (e) {
  let val = 10;
}

使い方

設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:

json
{
  "rules": {
    "no-ex-assign": "error"
  }
}
bash
oxlint --deny no-ex-assign

参照