diff --git a/packages/eslint-plugin/src/rules/no-unused-vars.ts b/packages/eslint-plugin/src/rules/no-unused-vars.ts index d9117605c404..07eff9a13d28 100644 --- a/packages/eslint-plugin/src/rules/no-unused-vars.ts +++ b/packages/eslint-plugin/src/rules/no-unused-vars.ts @@ -104,7 +104,7 @@ export default createRule({ vars: 'all', args: 'after-used', ignoreRestSiblings: false, - caughtErrors: 'none', + caughtErrors: 'all', }; if (typeof firstOption === 'string') { @@ -245,9 +245,7 @@ export default createRule({ ) { continue; } - } - - if (def.type === TSESLint.Scope.DefinitionType.Parameter) { + } else if (def.type === TSESLint.Scope.DefinitionType.Parameter) { // if "args" option is "none", skip any parameter if (options.args === 'none') { continue; diff --git a/packages/eslint-plugin/tests/rules/no-unused-vars/no-unused-vars-eslint.test.ts b/packages/eslint-plugin/tests/rules/no-unused-vars/no-unused-vars-eslint.test.ts index 1ca02bd7add2..82e867558614 100644 --- a/packages/eslint-plugin/tests/rules/no-unused-vars/no-unused-vars-eslint.test.ts +++ b/packages/eslint-plugin/tests/rules/no-unused-vars/no-unused-vars-eslint.test.ts @@ -232,10 +232,13 @@ foo(); doSomething(); })(); `, - ` + { + code: ` try { } catch (e) {} - `, + `, + options: [{ caughtErrors: 'none' }], + }, '/*global a */ a;', { code: ` @@ -925,7 +928,7 @@ try { try { } catch (err) {} `, - options: [{ vars: 'all', args: 'all' }], + options: [{ vars: 'all', args: 'all', caughtErrors: 'none' }], }, // Using object rest for variable omission @@ -2235,6 +2238,22 @@ try { definedError('err', '. Allowed unused args must match /^ignore/u'), ], }, + { + code: ` +try { +} catch (err) {} + `, + options: [{ caughtErrors: 'all', varsIgnorePattern: '^err' }], + errors: [definedError('err', '. Allowed unused vars must match /^err/u')], + }, + { + code: ` +try { +} catch (err) {} + `, + options: [{ caughtErrors: 'all', varsIgnorePattern: '^.' }], + errors: [definedError('err', '. Allowed unused vars must match /^./u')], + }, // multiple try catch with one success {