Reports unnecessary Error.captureStackTrace() calls in Error subclass constructors.
✅ This rule is included in the ts logical and logicalStrict presets.
Calling Error.captureStackTrace() inside the constructor of a built-in Error subclass is unnecessary, since the Error constructor calls it automatically.
AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11MyErr3 sp>5<3 sp ansty="le--0:#C792EA;--1:#8844">AEexten3 sp>5<3 sp ansty="le--0:#C5E478;--1:#3B61">B0Err3 sp>53< {d ivclassNa="meec-li">nt< sp ansty="le--0:#82AAFF;--1:#3B61">B0construct sp>11<()sp ansty="le--0:#D6DEEB;--1:#403F">53()sp> {d>< {d ivclassNa="meec-li">53 < sp ansty="le--0:#D6DEEB;--1:#403F">53Err sp>AB0captureStackTra5<3(sp ansty="le--0:#7FDBCA;--1:#096E">72th3(sp>53, MyError {d><);d ivclassNa="meec-li">53< sp ansty="le--0:#D6DEEB;--1:#403F">5 sp>);d><3}d ivclassNa="meec-li">53}d><3}d ivclassNa="meco"><}d>}d>3}d> 44AEc31111MyE344AEext361B0E3F<53 {divclass="Nameec-">de61B0constru11<11() spans="tyle--0:#D6DEEB;--1:#40">3F11()>53 ><53 {divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72s >3F553 ><3() ;divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72 >4<4AE. spans="tyle--0:#7FDBCA;--1:#09">6E724AE.>34<4AE= spans="tyle--0:#D6DEEB;--1:#40">34AE=>1<111" spans="tyle--0:#ECC48D;--1:#98">4E4DMyE111">1<111" spans="tyle--0:#D6DEEB;--1:#40">3111">3()>3F<53 spans="tyle--0:#D6DEEB;--1:#40">353 >3< }> }>
AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11MyErr3 sp>5<3 sp ansty="le--0:#C792EA;--1:#8844">AEexten3 sp>5<3 sp ansty="le--0:#C5E478;--1:#3B61">B0Err3 sp>53< {d ivclassNa="meec-li">nt< sp ansty="le--0:#82AAFF;--1:#3B61">B0construct sp>11<()sp ansty="le--0:#D6DEEB;--1:#403F">53()sp> {d>< {d ivclassNa="meec-li">53 < sp ansty="le--0:#D6DEEB;--1:#403F">53Err sp>AB0captureStackTraAE.sp ansty="le--0:#D6DEEB;--1:#403F">5?.sp><3(sp ansty="le--0:#7FDBCA;--1:#096E">72th3(sp>53, MyError {d><);d ivclassNa="meec-li">53< sp ansty="le--0:#D6DEEB;--1:#403F">5 sp>);d><3}d ivclassNa="meec-li">53}d><3}d ivclassNa="meco"><}d>}d>3}d> 44AEc31111MyE344AEext361B0E3F<53 {divclass="Nameec-">de61B0constru11<11() spans="tyle--0:#D6DEEB;--1:#40">3F11()>53 ><53 {divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72s >3F553 ><3() ;divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72 >4<4AE. spans="tyle--0:#7FDBCA;--1:#09">6E724AE.>34<4AE= spans="tyle--0:#D6DEEB;--1:#40">34AE=>1<111" spans="tyle--0:#ECC48D;--1:#98">4E4DMyE111">1<111" spans="tyle--0:#D6DEEB;--1:#40">3111">3()>3F<53 spans="tyle--0:#D6DEEB;--1:#40">353 >3< }> }>
AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11MyErr3 sp>5<3 sp ansty="le--0:#C792EA;--1:#8844">AEexten3 sp>5<3 sp ansty="le--0:#C5E478;--1:#3B61">B0Err3 sp>53< {d ivclassNa="meec-li">nt< sp ansty="le--0:#82AAFF;--1:#3B61">B0construct sp>11<()sp ansty="le--0:#D6DEEB;--1:#403F">53()sp> {d>< {d ivclassNa="meec-li">53 < sp ansty="le--0:#D6DEEB;--1:#403F">53Err sp>AB0captureStackTra5<3(sp ansty="le--0:#7FDBCA;--1:#096E">72th3(sp>53<, sp ansty="le--0:#7FDBCA;--1:#096E">72th, sp>A72construct53 {d><);d ivclassNa="meec-li">53< sp ansty="le--0:#D6DEEB;--1:#403F">5 sp>);d><3}d ivclassNa="meec-li">53}d><3}d ivclassNa="meco"><}d>}d>3}d> 44AEc31111MyE344AEext361B0E3F<53 {divclass="Nameec-">de61B0constru11<11() spans="tyle--0:#D6DEEB;--1:#40">3F11()>53 ><53 {divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72s >3F553 ><3() ;divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72 >4<4AE. spans="tyle--0:#7FDBCA;--1:#09">6E724AE.>34<4AE= spans="tyle--0:#D6DEEB;--1:#40">34AE=>1<111" spans="tyle--0:#ECC48D;--1:#98">4E4DMyE111">1<111" spans="tyle--0:#D6DEEB;--1:#40">3111">3()>3F<53 spans="tyle--0:#D6DEEB;--1:#40">353 >3< }> }>
AEcla5<3 sp ansty="le--0:#FFCB8B;--1:#1111">11MyErr3 sp>5<3 sp ansty="le--0:#C792EA;--1:#8844">AEexten3 sp>5<3 sp ansty="le--0:#C5E478;--1:#3B61">B0Err3 sp>53< {d ivclassNa="meec-li">nt< sp ansty="le--0:#82AAFF;--1:#3B61">B0construct sp>11<()sp ansty="le--0:#D6DEEB;--1:#403F">53()sp> {d>< {d ivclassNa="meec-li">53 < sp ansty="le--0:#D6DEEB;--1:#403F">53Err sp>AB0captureStackTra5<3(sp ansty="le--0:#7FDBCA;--1:#096E">72th3(sp>53<, sp ansty="le--0:#7FDBCA;--1:#096E">72n, sp>A72targ53 {d><);d ivclassNa="meec-li">53< sp ansty="le--0:#D6DEEB;--1:#403F">5 sp>);d><3}d ivclassNa="meec-li">53}d><3}d ivclassNa="meco"><}d>}d>3}d> 44AEc31111MyE344AEext361B0E3F<53 {divclass="Nameec-">de61B0constru11<11() spans="tyle--0:#D6DEEB;--1:#40">3F11()>53 ><53 {divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72s >3F553 ><3() ;divclass="Nameec-">dent< spans="tyle--0:#7FDBCA;--1:#09">6E72 >4<4AE. spans="tyle--0:#7FDBCA;--1:#09">6E724AE.>34<4AE= spans="tyle--0:#D6DEEB;--1:#40">34AE=>1<111" spans="tyle--0:#ECC48D;--1:#98">4E4DMyE111">1<111" spans="tyle--0:#D6DEEB;--1:#40">3111">3()>3F<53 spans="tyle--0:#D6DEEB;--1:#40">353 >3< }> }>
This rule is not configurable.
If you’re extending a custom error class that changes the default behavior to not capture the stack trace, you may need to disable this rule for that specific class.