JS.BASE.NO.EX.ASSIGN

Disallow reassigning exceptions in 'catch' clauses

If a catch clause in a try statement accidentally (or purposely) assigns another value to the exception parameter, it is impossible to refer to the error from that point on. Since there is no arguments object to offer alternative access to this data, assignment of the parameter is absolutely destructive.

Rule Details

This rule disallows reassigning exceptions in catch clauses.

Examples of incorrect code for this rule:

Copy
/*eslint no-ex-assign: "error"*/

try {
    // code
} catch (e) {
    e = 10;
}

Examples of correct code for this rule:

Copy
/*eslint no-ex-assign: "error"*/

try {
    // code
} catch (e) {
    var foo = 10;
}

The content on this page is adapted from the ESLint User Guide. Copyright © OpenJS Foundation and other contributors, www.openjsf.org. All rights reserved. https://eslint.org/docs/rules/